Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Create submit function
  • Loading branch information
regalijan committed Oct 19, 2023
1 parent c97029e commit 387f78b
Showing 1 changed file with 46 additions and 1 deletion.
47 changes: 46 additions & 1 deletion components/NewInfractionModal.tsx
Expand Up @@ -10,6 +10,7 @@ import {
ModalOverlay,
Select,
Text,
useToast,
} from "@chakra-ui/react";

export default function (props: { isOpen: boolean; onClose: () => void }) {
Expand All @@ -22,7 +23,51 @@ export default function (props: { isOpen: boolean; onClose: () => void }) {

props.onClose();
}
async function submit() {}
async function submit() {
const form = new FormData();
const { files } = document.getElementById("evidence") as HTMLInputElement;
const punishment = (
document.getElementById("punishment") as unknown as HTMLSelectElement
).item(0)?.value as string;
const { value: user } = document.getElementById("user") as HTMLInputElement;

form.append("user", user);
form.append("punishment", punishment);

if (files) {
for (let i = 0; i < files.length; i++)
form.append(`file${i}`, files[i], files[i].name);
}

const postReq = await fetch("/api/infractions/new", {
body: form,
method: "POST",
});

if (postReq.ok) {
useToast()({
description: "Infraction created",
duration: 5000,
isClosable: true,
status: "success",
title: "Success",
});

props.onClose();

return;
}

useToast()({
description: `Failed to create infraction (${
((await postReq.json()) as { error: string }).error
})`,
duration: 5000,
isClosable: true,
status: "error",
title: "Error",
});
}

return (
<Modal isCentered isOpen={props.isOpen} onClose={props.onClose}>
Expand Down

0 comments on commit 387f78b

Please sign in to comment.