import { useParams } from "react-router-dom"; import { Dataset as DatasetType } from "../types"; import TimeseriesView from "../components/dataset/TimeseriesView"; import { useEffect, useRef, useState } from "react"; interface DatasetProps { datasets: DatasetType[]; } function Dataset({ datasets }: 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); if (!dataset) { return
Dataset not found
; } return (

{dataset.name}

{dataset.description}

Version

{dataset.version}

Tags

{dataset.tags.map((tag) => ( {tag} ))}

Downloads

{dataset.data_url_npy && ( Download NPY )} {dataset.data_url_raw && ( Download RAW )}
{dataset.source_file && (

Source

View Source
)}
); } export default Dataset;