"use client"; // /components/main/settingsPageComponents/OPCUAInterfaceSettings.tsx import React, { useState } from "react"; import { useSelector, useDispatch } from "react-redux"; import { RootState } from "../../../redux/store"; import { setOpcUaEncryption, toggleOpcUaServer, setOpcUaNodesetName, addOpcUaUser, removeOpcUaUser, } from "../../../redux/slices/opcuaSettingsSlice"; export default function OPCUAInterfaceSettings() { const dispatch = useDispatch(); const opcuaSettings = useSelector( (state: RootState) => state.opcuaSettingsSlice ); // Lokale Zustände für das neue Benutzerformular const [newUsername, setNewUsername] = useState(""); const [newPassword, setNewPassword] = useState(""); const [nodesetName, setNodesetName] = useState( opcuaSettings.opcUaNodesetName ); const handleAddUser = () => { if (newUsername.trim() && newPassword.trim()) { dispatch(addOpcUaUser({ username: newUsername, password: newPassword })); setNewUsername(""); setNewPassword(""); } }; const handleNodesetUpdate = () => { dispatch(setOpcUaNodesetName(nodesetName)); }; return (

OPCUA Server Einstellungen

{/* ✅ Server Aktivierung */}
{/* ✅ Verschlüsselung */} {/*
*/} {/* ✅ OPCUA Zustand */}
{opcuaSettings.opcUaZustand}
{/* ✅ Nodeset Name */}
setNodesetName(e.target.value)} />
{/* ✅ Benutzerverwaltung */}

Benutzer

{/* ✅ Neuen Benutzer hinzufügen */}
setNewUsername(e.target.value)} className="p-1 border rounded flex-grow text-sm" /> setNewPassword(e.target.value)} className="p-1 border rounded flex-grow text-sm" />
); }