Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| import React, { useState, useEffect, useRef } from "react"; | |
| import { Box, CircularProgress } from "@mui/material"; | |
| import { useNavigate, useSearchParams, Navigate } from "react-router-dom"; | |
| import Intro from "../components/Intro"; | |
| import Generator from "../components/Benchmark/Generator"; | |
| function BenchmarkGenerationPage() { | |
| const navigate = useNavigate(); | |
| const [searchParams] = useSearchParams(); | |
| const sessionId = searchParams.get("session"); | |
| const isDefault = searchParams.get("isDefault") === "true"; | |
| const [isValidSession, setIsValidSession] = useState(true); | |
| const hasRedirectedRef = useRef(false); | |
| useEffect(() => { | |
| if (!sessionId) { | |
| setIsValidSession(false); | |
| } | |
| }, [sessionId]); | |
| const handleGenerationComplete = (result) => { | |
| console.log("Benchmark generation completed:", result); | |
| if (result && result.success && !hasRedirectedRef.current) { | |
| hasRedirectedRef.current = true; // Marquer que la redirection a été faite | |
| // Légère pause avant de naviguer pour éviter les problèmes de synchronisation | |
| setTimeout(() => { | |
| navigate(`/benchmark-display?session=${sessionId}`); | |
| }, 500); | |
| } | |
| }; | |
| if (!isValidSession) { | |
| return <Navigate to="/" />; | |
| } | |
| return ( | |
| <> | |
| <Intro /> | |
| <Generator | |
| sessionId={sessionId} | |
| isDefaultDocument={isDefault} | |
| onComplete={handleGenerationComplete} | |
| /> | |
| </> | |
| ); | |
| } | |
| export default BenchmarkGenerationPage; | |