import React, { useState } from "react"; export default function App() { const [file, setFile] = useState(null); const [loading, setLoading] = useState(false); const [result, setResult] = useState(null); const [error, setError] = useState(null); const handleFileChange = (e) => { const selectedFile = e.target.files[0]; if (selectedFile) { if (selectedFile.type !== "application/pdf") { setError("Please select a PDF file"); setFile(null); return; } setFile(selectedFile); setError(null); setResult(null); } }; const handleClassify = async () => { if (!file) { setError("Please select a PDF file first"); return; } setLoading(true); setError(null); setResult(null); const formData = new FormData(); formData.append("file", file); try { const response = await fetch("/api/classify", { method: "POST", body: formData, }); if (!response.ok) { const errorData = await response.json(); throw new Error(errorData.detail || "Classification failed"); } const data = await response.json(); setResult(data); } catch (err) { setError(err.message || "An error occurred during classification"); } finally { setLoading(false); } }; const handleReset = () => { setFile(null); setResult(null); setError(null); // Reset file input const fileInput = document.getElementById("pdf-upload"); if (fileInput) fileInput.value = ""; }; return (
Upload a PDF file to classify its document type using BERT-tiny
Selected: {file.name}
Size: {(file.size / 1024).toFixed(2)} KB
Processing your document...