diff --git a/frontend/src/ServerManager.jsx b/frontend/src/ServerManager.jsx index d7bd06f..e8feb15 100644 --- a/frontend/src/ServerManager.jsx +++ b/frontend/src/ServerManager.jsx @@ -47,6 +47,9 @@ function ServerManager() { const editInputRef = useRef(null); const pageSize = 10; + const [editModalOpen, setEditModalOpen] = useState(false); + const [editModalServer, setEditModalServer] = useState(null); + useEffect(() => { fetchServers(); }, []); @@ -76,16 +79,23 @@ function ServerManager() { }; const handleEdit = (server) => { - setEditingServer(server.ip); - setEditingValues({ ...server }); + setEditModalServer({ ...server }); + setEditModalOpen(true); }; - const handleSaveEdit = (serverIp) => { - const updatedServers = servers.map(s => - s.ip === serverIp ? { ...s, ...editingValues } : s - ); - setServers(updatedServers); - setEditingServer(null); + const handleEditModalChange = (updatedServer) => { + setEditModalServer(updatedServer); + }; + + const handleEditModalSave = () => { + setServers(servers.map(s => s.ip === editModalServer.ip ? { ...editModalServer } : s)); + setEditModalOpen(false); + setEditModalServer(null); + }; + + const handleEditModalClose = () => { + setEditModalOpen(false); + setEditModalServer(null); }; const handleCancelEdit = () => { @@ -476,17 +486,8 @@ function ServerManager() {