import React, { useState } from "react"; import { TextField, Table, TableBody, TableCell, TableHead, TableRow, Button, } from "@mui/material"; import { useRouter } from "next/router"; interface Job { id: string; url: string; elements: Object[]; result: Object; time_created: Date; } interface JobTableProps { jobs: Job[]; } const JobTable: React.FC = ({ jobs }) => { const router = useRouter(); const handleDownload = async (id: string) => { console.log(id); const response = await fetch("/api/download", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id: id }), }); if (response.ok) { const blob = await response.blob(); const url = window.URL.createObjectURL(blob); const a = document.createElement("a"); a.style.display = "none"; a.href = url; a.download = `job_${id}.csv`; document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); } else { console.error("Failed to download the file."); } }; const handleNavigate = (elements: Object[], url: string) => { router.push({ pathname: "/", query: { elements: JSON.stringify(elements), url: url, }, }); }; return ( <> id url elements result time_created {jobs.map((row, index) => ( ))}
); }; export default JobTable;