import { useEffect, useState } from "react"; import { Button } from "ui"; const API_HOST = process.env.NEXT_PUBLIC_API_HOST || "http://localhost:3001"; export default function Web() { const [name, setName] = useState(""); const [response, setResponse] = useState<{ message: string } | null>(null); const [error, setError] = useState(); useEffect(() => { setResponse(null); setError(undefined); }, [name]); const onChange = (e: React.ChangeEvent) => setName(e.target.value); const onSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { const result = await fetch(`${API_HOST}/message/${name}`); const response = await result.json(); setResponse(response); } catch (err) { console.error(err); setError("Unable to fetch response"); } }; const onReset = () => { setName(""); }; return (

Web

{error && (

Error

{error}

)} {response && (

Greeting

{response.message}

)}
); }