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 (
{/* Page Header */}

Generator siatki

Przekształć pliki DXF na siatki instalacyjne

{/* Upload Section */} Prześlij plik Wybierz plik DXF do przetworzenia (maksymalnie 50 MB)
{ const { name, size, type } = file; const fileRejection = fileRejections.find( (fileRejection) => fileRejection.file === file ); const { message } = fileRejection || {}; return ( ); }} values={files} />
{/* Results Section */} Wynik Pobierz wygenerowany plik siatki {fileData ? (
Plik został pomyślnie przetworzony!
) : (

Prześlij plik aby rozpocząć przetwarzanie

)}
{/* Instructions */} Instrukcje
1

Prześlij plik

Wybierz plik DXF z projektem

2

Przetwarzaj

Kliknij "Dodaj siatkę"

3

Pobierz

Zapisz gotową siatkę DXF

); } return (
Wastpol
Zaloguj się

Uzyskaj dostęp do generatora siatki

); }