import React, { FC, useState } from "react"; import { Flex } from "reflexbox/styled-components"; import { useFormState } from "react-use-form-state"; import axios from "axios"; import { getAxiosConfig } from "../../utils"; import { useMessage } from "../../hooks"; import TextInput from "../TextInput"; import Checkbox from "../Checkbox"; import { API } from "../../consts"; import { Button } from "../Button"; import Icon from "../Icon"; import Text, { H2 } from "../Text"; import { Col } from "../Layout"; interface BanForm { id: string; user: boolean; domain: boolean; host: boolean; } const SettingsBan: FC = () => { const [submitting, setSubmitting] = useState(false); const [message, setMessage] = useMessage(3000); const [formState, { checkbox, text }] = useFormState(); const onSubmit = async e => { e.preventDefault(); setSubmitting(true); setMessage(); try { const { data } = await axios.post( API.BAN_LINK, formState.values, getAxiosConfig() ); setMessage(data.message, "green"); formState.clear(); } catch (err) { setMessage(err?.response?.data?.error || "Couldn't ban the link."); } setSubmitting(false); }; return (

Ban link

{message.text} ); }; export default SettingsBan;