From ab4ba37d539e49372446859d783342dfdab41b91 Mon Sep 17 00:00:00 2001 From: shats Date: Tue, 17 Feb 2026 22:32:28 +0700 Subject: [PATCH] refactor(MikrotikTools): streamline interface filtering logic by moving it to a new useMemo hook for improved performance and readability --- frontend/src/MikrotikTools.jsx | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/frontend/src/MikrotikTools.jsx b/frontend/src/MikrotikTools.jsx index 31862c5..29c2646 100644 --- a/frontend/src/MikrotikTools.jsx +++ b/frontend/src/MikrotikTools.jsx @@ -121,18 +121,6 @@ function MikrotikTools() { [networkConfig] ); - const interfacesForServer = useMemo(() => { - if (!serverId || !interfaces.length) return []; - const ids = new Set( - [serverId, currentServer?.id, currentServer?.ip, currentServer?.dns] - .filter(Boolean) - .map(String) - ); - return interfaces.filter( - (i) => i && i.name && (ids.has(String(i.serverId)) || ids.has(String(i.serverId2))) - ); - }, [interfaces, serverId, currentServer]); - const formatMbps = (bps) => { if (bps == null || Number.isNaN(bps)) return '—'; const mbps = bps / 1_000_000; @@ -300,6 +288,21 @@ function MikrotikTools() { [jumphostServers, serverId] ); + const interfacesForServer = useMemo(() => { + if (!serverId || !interfaces.length) return []; + const ids = new Set( + [serverId, currentServer?.id, currentServer?.ip, currentServer?.dns] + .filter(Boolean) + .map(String) + ); + return interfaces.filter( + (i) => + i && + i.name && + (ids.has(String(i.serverId)) || ids.has(String(i.serverId2))) + ); + }, [interfaces, serverId, currentServer]); + const gatewaysForServer = useMemo(() => { if (!serverId || !gateways.length) return []; const ids = currentServer