import { Button, Input, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Text, useToast, } from "@chakra-ui/react"; import { useState } from "react"; export default function (props: { isOpen: boolean; onClose: () => void }) { const [userID, setUserID] = useState(""); const [loading, setLoading] = useState(false); const toast = useToast(); async function submitBan() { const submitResp = await fetch(`/appeals/${userID}/ban`, { body: "{}", headers: { "content-type": "application/json", }, method: "POST", }); if (!submitResp.ok) { let error; try { error = ((await submitResp.json()) as { error: string }).error; } catch { error = "Unknown error"; } toast({ description: error, isClosable: true, status: "error", title: "Oops", }); return; } toast({ description: "User has been banned from appeals", isClosable: true, status: "success", title: "Success", }); props.onClose(); } return ( New Appeal Ban User ID setUserID(e.target.value)} placeholder="1234567890987654321" /> ); }