"use client"; // components/main/analogeEingaenge/AnalogeEingaengeTable.tsx import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { RootState, AppDispatch } from "../../../redux/store"; import { fetchAnalogeEingaengeThunk } from "../../../redux/thunks/fetchAnalogeEingaengeThunk"; export default function AnalogeEingaengeTable() { const dispatch = useDispatch(); useEffect(() => { dispatch(fetchAnalogeEingaengeThunk()); // ✅ Holt die API-Daten nur im Client }, [dispatch]); const analogeEingaenge = useSelector( (state: RootState) => state.analogeEingaenge ); const [selectedEingang, setSelectedEingang] = useState(null); const openSettingsModal = (eingang: any) => { setSelectedEingang(eingang); }; const closeSettingsModal = () => { setSelectedEingang(null); }; return (
{/* */} {Object.values(analogeEingaenge).map((eingang, index) => ( {/* */} ))}
Eingang Wert BezeichnunguW uG oW oGEinstellung
{eingang.id ?? "-"} {eingang.value ?? "-"} {eingang.name || "----"} {eingang.uW ? "🟢" : "⚪"} {eingang.uG ? "🟢" : "⚪"} {eingang.oW ? "🟠" : "⚪"} {eingang.oG ? "🟢" : "⚪"}
{/* Modal */} {selectedEingang && (

Analoger Eingang {selectedEingang.id}

Name:
{selectedEingang.name}
Einheit:
{selectedEingang.einheit}
Faktor:
{selectedEingang.faktor}
Offset:
{selectedEingang.offset}
Gewichtung:
{selectedEingang.gewichtung}
Loggerinterval:
{selectedEingang.loggerinterval} Minuten
)}
); }