import React, { useState } from "react"; const Ai = () => { const [selectedFile, setSelectedFile] = useState(null); const [prediction, setPrediction] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const handleFileChange = (e) => { if (e.target.files && e.target.files[0]) { setSelectedFile(e.target.files[0]); } }; const handleSubmit = async (e) => { e.preventDefault(); if (!selectedFile) return; setLoading(true); setPrediction(""); setError(""); try { const formData = new FormData(); formData.append("image", selectedFile); const response = await fetch("http://localhost:3000/predict", { method: "POST", body: formData, }); if (!response.ok) { throw new Error("Prediction request failed"); } const result = await response.json(); // Assuming the API returns a JSON object with an "output" field. setPrediction(result.data || "No prediction returned"); } catch (err) { console.error("Error during prediction:", err); setError(err.message); } finally { setLoading(false); } }; return (
{error}
} {prediction && ({prediction}