"use client"; // /components/main/einausgaenge/DigitalOutputsWidget.tsx import React from "react"; import { useSelector, useDispatch } from "react-redux"; import { RootState, AppDispatch } from "../../../redux/store"; import { Icon } from "@iconify/react"; import settingsIcon from "@iconify/icons-mdi/settings"; import outputIcon from "@iconify/icons-mdi/output"; import switchIcon from "@iconify/icons-ion/switch"; import { setDigitalOutputs } from "../../../redux/slices/digitalOutputsSlice"; export default function DigitalOutputsWidget({ openOutputModal }) { const dispatch = useDispatch(); const digitalOutputs = useSelector( (state: RootState) => state.digitalOutputsSlice.outputs ); const handleToggle = async (id: number) => { const updatedOutputs = digitalOutputs.map((output) => output.id === id ? { ...output, status: !output.status } : output ); dispatch(setDigitalOutputs(updatedOutputs)); try { await fetch("/api/cpl/updateDigitalOutputs", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ outputs: updatedOutputs }), }); console.log("✅ Status gespeichert für Ausgang", id); } catch (error) { console.error("❌ Fehler beim Speichern:", error); } }; return (

Digitale Ausgänge

{digitalOutputs.map((output) => ( ))}
Ausgang Bezeichnung Schalter Aktion
{output.id} {output.label} handleToggle(output.id)} /> openOutputModal(output)} />
); }