diff --git a/frontend/src/features/nodes/pages/NodesPage.js b/frontend/src/features/nodes/pages/NodesPage.js index a588ddb..295e59e 100644 --- a/frontend/src/features/nodes/pages/NodesPage.js +++ b/frontend/src/features/nodes/pages/NodesPage.js @@ -40,6 +40,24 @@ const isAdmin = user?.role === 'admin'; + const fetchData = useCallback(async () => { + setLoading(true); + try { + if (isAdmin) { + const [nodesData, groupsData] = await Promise.all([getAdminNodes(), getAdminGroups()]); + setNodes(nodesData); + setGroups(groupsData); + } else { + const nodesData = await getUserAccessibleNodes(); + setNodes(nodesData); + } + } catch (err) { + setError(err.message); + } finally { + setLoading(false); + } + }, [isAdmin]); + useEffect(() => { // Register WebMCP tools registerTool({ @@ -89,24 +107,6 @@ }; }, [nodes, registerTool, unregisterTool, fetchData]); - const fetchData = useCallback(async () => { - setLoading(true); - try { - if (isAdmin) { - const [nodesData, groupsData] = await Promise.all([getAdminNodes(), getAdminGroups()]); - setNodes(nodesData); - setGroups(groupsData); - } else { - const nodesData = await getUserAccessibleNodes(); - setNodes(nodesData); - } - } catch (err) { - setError(err.message); - } finally { - setLoading(false); - } - }, [isAdmin]); - useEffect(() => { fetchData(); }, [fetchData]);