import { useNavigate } from "react-router-dom"; import { useState, useEffect } from "react"; const FORM_ENDPOINT = "https://laporirigasi.my.id/api/auth/register"; const RegisterForm = () => { const [status, setStatus] = useState(''); const [message, setMessage] = useState(''); let navigate = useNavigate(); const handleSubmit = (e) => { e.preventDefault(); setStatus('loading'); setMessage(''); const finalFormEndpoint = e.target.action; const data = Array.from(e.target.elements) .filter((input) => input.name) .reduce((obj, input) => Object.assign(obj, { [input.name]: input.value }), {}); fetch(finalFormEndpoint, { method: 'POST', headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then((response) => { if (response.status !== 200) { throw new Error(response.statusText); } return null; }) .then(() => { setStatus('success'); }) .catch((err) => { setMessage(err.toString()); setStatus('error'); }); }; useEffect(() => { if (status === "success") { navigate("/login"); } }, [status, navigate]); if (status === "error") { return ( <>
Something bad happened!
{message}
); } return (










); }; export default RegisterForm;