import React, { useState } from "react"; import DateRangePicker from "./DateRangePicker"; import ChartModal from "../../modules/kue705FO/charts/ChartModal"; // Importiere das Chart-Modal import { useDispatch, useSelector } from "react-redux"; import { setChartData } from "../../../redux/slices/chartDataSlice"; import { RootState } from "../../../redux/store"; const LoopTDRChartActionBar: React.FC = () => { const dispatch = useDispatch(); const BASE_URL = "http://localhost:3002"; const [vonDatum, setVonDatum] = useState(new Date()); const [bisDatum, setBisDatum] = useState(new Date()); const [errorMessage, setErrorMessage] = useState(null); const [showChartModal, setShowChartModal] = useState(false); // Redux-Daten holen (damit sich das ChartModal darauf bezieht) const chartData = useSelector((state: RootState) => state.chartData.data); const fetchAllData = async () => { let index = 0; let allData: any[] = []; while (true) { const url = `${BASE_URL}/${index}`; try { const response = await fetch(url); if (!response.ok) { if (response.status === 404) { console.log( `📡 Kein weiteres Objekt gefunden bei Index ${index}, Stoppe Abruf.` ); break; } throw new Error(`Fehler beim Abrufen von ${url}: ${response.status}`); } const jsonData = await response.json(); allData.push(jsonData); index++; } catch (error) { console.error(`❌ Fehler bei ${url}:`, error); break; } } console.log("📥 Alle abgerufenen JSON-Daten:", allData); dispatch(setChartData(allData)); // 🔥 Daten in Redux speichern return allData; }; const handleAktualisieren = async () => { try { setErrorMessage(null); console.log("📡 API Haupt-URL:", BASE_URL); const allData = await fetchAllData(); if (allData.length === 0) { console.error("❌ Keine Daten gefunden!"); setErrorMessage("❌ Keine Daten gefunden."); return; } console.log("📥 Alle abgerufenen JSON-Daten:"); console.table(allData); } catch (error) { console.error("❌ Fehler beim Abrufen der Daten:", error); setErrorMessage("❌ Fehler beim Laden der Daten."); } }; return (
{showChartModal && ( setShowChartModal(false)} chartRef={React.createRef()} /> )}
); }; export default LoopTDRChartActionBar;