- Layout verbessert: Tabelle und Diagramm jetzt nebeneinander (grid-responsive) - Responsivität optimiert: Kein unnötiges horizontales Scrollen mehr - Diagramm verbessert: - Höhere Lesbarkeit mit stärkeren Linien und Abstand für Achsenbeschriftungen - Anpassung der Höhe und Breite für mobile & große Bildschirme - Tabelle optimiert: - Bessere Lesbarkeit mit größeren Abständen - Hover-Effekte für Zeilen - Dynamisches Spaltenlayout für kleine & große Bildschirme - Code aufgeräumt und verbessert Test auf verschiedenen Bildschirmgrößen erfolgreich!"
29 lines
937 B
TypeScript
29 lines
937 B
TypeScript
// components/main/analogeEingaenge/hooks/useFetchAnalogeEingaenge.ts
|
|
import { useEffect } from "react";
|
|
import { useDispatch } from "react-redux";
|
|
import {
|
|
loadFromWindow,
|
|
setAnalogeEingaenge,
|
|
} from "../../../../redux/slices/analogeEingaengeSlice";
|
|
|
|
export const useFetchAnalogeEingaenge = () => {
|
|
const dispatch = useDispatch();
|
|
|
|
useEffect(() => {
|
|
dispatch(loadFromWindow()); // Initial Mock-Daten aus `window` laden
|
|
|
|
const interval = setInterval(async () => {
|
|
try {
|
|
const response = await fetch("/api/get-embedded-data");
|
|
if (!response.ok) throw new Error("Fehler beim Abrufen der Daten");
|
|
const data = await response.json();
|
|
dispatch(setAnalogeEingaenge(data));
|
|
} catch (error) {
|
|
console.error("Fehler beim Abruf der Sensordaten:", error);
|
|
}
|
|
}, 5000); // Alle 5 Sekunden neue Daten abrufen
|
|
|
|
return () => clearInterval(interval);
|
|
}, [dispatch]);
|
|
};
|