import { useParams } from "react-router-dom"; import { Dataset as DatasetType, BenchmarkData } from "../types"; import TimeseriesView from "../components/dataset/TimeseriesView"; import { useEffect, useRef, useState } from "react"; import { BenchmarkCharts } from "../components/benchmark/charts/BenchmarkCharts"; import { useBenchmarkChartData } from "../hooks/useBenchmarkChartData"; import { BenchmarkTable } from "../components/benchmark/table/BenchmarkTable"; interface DatasetProps { datasets: DatasetType[]; benchmarkData: BenchmarkData | null; } function Dataset({ datasets, benchmarkData }: DatasetProps) { const containerRef = useRef(null); const [containerWidth, setContainerWidth] = useState(1200); useEffect(() => { if (!containerRef.current) return; const resizeObserver = new ResizeObserver((entries) => { for (const entry of entries) { // Account for padding by subtracting 32px (2rem) setContainerWidth(entry.contentRect.width - 32); } }); resizeObserver.observe(containerRef.current); return () => { resizeObserver.disconnect(); }; }, []); const { datasetName } = useParams<{ datasetName: string }>(); const dataset = datasets.find((d) => d.name === datasetName); const chartData = useBenchmarkChartData( benchmarkData?.results || [], dataset?.name || null, null, ); if (!dataset) { return
Dataset not found
; } return (

{dataset.name}

{dataset.description}

Version:{" "} {dataset.version}
Tags:{" "} {dataset.tags.map((tag) => ( {tag} ))}
Download:{" "} {dataset.data_url_npy && ( NPY )} {dataset.data_url_raw && ( RAW )}
{dataset.source_file && (
Source:{" "} View
)}
{benchmarkData && ( <>

Benchmark Results

result.dataset === dataset.name, )} />
)}
); } export default Dataset;