import { useEffect, useRef, useState } from "react"; import { CartesianGrid, Legend, Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts"; const COLORS = ["#2563eb", "#dc2626", "#1d4ed8", "#b91c1c", "#3b82f6", "#ef4444"]; export default function TrendChart({ result, title = "Trendansicht" }) { const hostRef = useRef(null); const [isFullscreen, setIsFullscreen] = useState(false); useEffect(() => { const onChange = () => { setIsFullscreen(document.fullscreenElement === hostRef.current); }; document.addEventListener("fullscreenchange", onChange); return () => document.removeEventListener("fullscreenchange", onChange); }, []); if (!result?.rows?.length) { return (

{title}

Keine Daten im gewaehlten Zeitraum.

); } const rows = result.rows.map((row) => ({ ...row, timestampLabel: new Date(row.timestamp).toLocaleString("de-DE"), })); const toggleFullscreen = async () => { if (!hostRef.current) { return; } if (document.fullscreenElement === hostRef.current) { await document.exitFullscreen(); return; } await hostRef.current.requestFullscreen(); }; return (

{title}

{result.series.map((series, index) => ( ))}
); }