import { useState, useCallback } from "react";
import { useSession, signIn } from "next-auth/react";
import Layout from "../components/ui/Layout";
import { Card, CardHeader, CardContent, CardTitle, CardDescription, Button, Alert } from "../components/ui/components";
import {
FileUploader,
FileCard,
} from "evergreen-ui";
import { CloudArrowUpIcon as CloudUploadIcon, ArrowDownTrayIcon as DownloadIcon, Squares2X2Icon as GridIcon } from '@heroicons/react/24/outline';
import axios from "axios";
export default function Cross() {
const { data: session } = useSession();
const [files, setFiles] = useState([]);
const [fileRejections, setFileRejections] = useState([]);
const [fileData, setFileData] = useState(null);
const [isLoading, setIsLoading] = useState(false);
const handleChange = useCallback((files) => setFiles([files[0]]), []);
const handleRejected = useCallback(
(fileRejections) => setFileRejections([fileRejections[0]]),
[]
);
const handleRemove = useCallback(() => {
setFiles([]);
setFileRejections([]);
}, []);
const handleSubmit = (e) => {
e.preventDefault();
setIsLoading(true);
console.log("Files:", files);
if (files.length === 0) {
console.log("No files selected");
setIsLoading(false);
return;
}
const formData = new FormData();
formData.append("files", files[0]);
axios
.post("/api/cross", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
})
.then((response) => {
console.log(response.data);
setFileData(response.data);
setIsLoading(false);
})
.catch((error) => {
console.error(error);
setIsLoading(false);
});
};
const handleDownload = () => {
if (fileData) {
document.getElementById("down").download = fileData.filename;
document.getElementById("down").href = "cross.dxf";
document.getElementById("down").click();
}
};
if (session) {
return (
Przekształć pliki DXF na siatki instalacyjne Prześlij plik aby rozpocząć przetwarzanie Wybierz plik DXF z projektem Kliknij "Dodaj siatkę" Zapisz gotową siatkę DXFGenerator siatki
Prześlij plik
Przetwarzaj
Pobierz
Uzyskaj dostęp do generatora siatki