import { BrowserRouter, Routes, Route, Link } from "react-router-dom"; import { useEffect, useState } from "react"; import axios from "axios"; import { ScrollToTop } from "./components/ScrollToTop"; import "./components/AppHeader.css"; import Home from "./pages/Home"; import BenchmarkView from "./pages/BenchmarkView"; import Monitor from "./pages/Monitor"; import Submit from "./pages/Submit"; import { BenchmarkData } from "./types"; function App() { const [benchmarkData, setBenchmarkData] = useState( null, ); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchData = async () => { try { setIsLoading(true); setError(null); const cacheBust = Math.random().toString(36).substring(2, 15); const response = await axios.get( `https://tempory.net/f/memobin/ephys_compression_tests/global/results.json?cachebust=${cacheBust}`, ); setBenchmarkData(response.data); } catch (error) { const message = error instanceof Error ? error.message : "Failed to fetch data"; setError(message); console.error("Error fetching benchmark data:", error); } finally { setIsLoading(false); } }; fetchData(); }, []); return (
{isLoading ? (
Loading benchmark data...
) : error ? (
Error: {error}
) : ( } /> } /> } /> } /> } /> } /> } /> )}
); } export default App;