diff --git a/frontend/src/MikrotikBackupsManager.jsx b/frontend/src/MikrotikBackupsManager.jsx
index 2412ea2..75608ea 100644
--- a/frontend/src/MikrotikBackupsManager.jsx
+++ b/frontend/src/MikrotikBackupsManager.jsx
@@ -44,7 +44,7 @@ function MikrotikBackupsManager() {
const notify = useNotify();
const [servers, setServers] = useState([]);
- const [selectedServer, setSelectedServer] = useState(null);
+ const [selectedServerId, setSelectedServerId] = useState('');
const [uiSettings, setUiSettings] = useState({});
const [uiSettingsEtag, setUiSettingsEtag] = useState('');
const [backupServerIds, setBackupServerIds] = useState(new Set());
@@ -64,19 +64,31 @@ function MikrotikBackupsManager() {
}, []);
useEffect(() => {
- if (selectedServer && selectedServer.id) {
- fetchBackups(selectedServer.id);
+ if (selectedServerId) {
+ fetchBackups(selectedServerId);
} else {
setBackups([]);
setSelectedKeys([]);
}
- }, [selectedServer]);
+ }, [selectedServerId]);
const jumphostServers = useMemo(
() => (servers || []).filter((s) => String(s.type || '').toLowerCase() === 'jumphost'),
[servers],
);
+ const makeServerId = (s) => (s.id || s.dns || s.ip || '').toString();
+
+ const jumphostInputServers = useMemo(
+ () => jumphostServers.map((s) => ({ ...s, id: makeServerId(s) })),
+ [jumphostServers],
+ );
+
+ const currentServer = useMemo(
+ () => jumphostServers.find((s) => makeServerId(s) === selectedServerId) || null,
+ [jumphostServers, selectedServerId],
+ );
+
const backupServerIdsList = useMemo(() => Array.from(backupServerIds), [backupServerIds]);
const fetchServers = async () => {
@@ -86,8 +98,8 @@ function MikrotikBackupsManager() {
const list = Array.isArray(res.data) ? res.data : [];
setServers(list);
const firstJumphost = list.find((s) => String(s.type || '').toLowerCase() === 'jumphost');
- if (firstJumphost && !selectedServer) {
- setSelectedServer(firstJumphost);
+ if (firstJumphost && !selectedServerId) {
+ setSelectedServerId(makeServerId(firstJumphost));
}
} catch (err) {
console.error('Error fetching servers for backups:', err);
@@ -253,17 +265,17 @@ function MikrotikBackupsManager() {