import React, { useState } from "react"; import axios from "axios"; import { useFormState } from "react-use-form-state"; import { Flex } from "reflexbox/styled-components"; import AppWrapper from "../components/AppWrapper"; import TextInput from "../components/TextInput"; import { Button } from "../components/Button"; import Text, { H2, Span } from "../components/Text"; import { useMessage } from "../hooks"; import { API } from "../consts"; import { Col } from "../components/Layout"; const ReportPage = () => { const [formState, { text }] = useFormState<{ url: string }>(); const [loading, setLoading] = useState(false); const [message, setMessage] = useMessage(5000); const onSubmit = async e => { e.preventDefault(); setLoading(true); setMessage(); try { await axios.post(API.REPORT, { link: formState.values.url }); // TODO: better api calls setMessage("Thanks for the report, we'll take actions shortly.", "green"); formState.clear(); } catch (error) { setMessage(error?.response?.data?.error || "Couldn't send report."); } setLoading(false); }; return (

Report abuse

Report abuses, malware and phishing links to the below email address or use the form. We will take actions shortly. {(process.env.REPORT_EMAIL || "").replace("@", "[at]")} URL containing malware/scam: {message.text}
); }; export default ReportPage;