diff --git a/src/ui/Desktop/Apps/Server/Server.tsx b/src/ui/Desktop/Apps/Server/Server.tsx index 54cad5eb..70c4d274 100644 --- a/src/ui/Desktop/Apps/Server/Server.tsx +++ b/src/ui/Desktop/Apps/Server/Server.tsx @@ -67,7 +67,11 @@ export function Server({ const [hasUnsavedChanges, setHasUnsavedChanges] = React.useState(false); const statsConfig = React.useMemo((): StatsConfig => { + console.log("[Load] Current host config:", currentHostConfig); + console.log("[Load] statsConfig field:", currentHostConfig?.statsConfig); + if (!currentHostConfig?.statsConfig) { + console.log("[Load] No statsConfig found, using default"); return DEFAULT_STATS_CONFIG; } try { @@ -75,8 +79,10 @@ export function Server({ typeof currentHostConfig.statsConfig === "string" ? JSON.parse(currentHostConfig.statsConfig) : currentHostConfig.statsConfig; + console.log("[Load] Parsed statsConfig:", parsed); return parsed?.widgets ? parsed : DEFAULT_STATS_CONFIG; - } catch { + } catch (error) { + console.error("[Load] Failed to parse statsConfig:", error); return DEFAULT_STATS_CONFIG; } }, [currentHostConfig?.statsConfig]); @@ -128,17 +134,20 @@ export function Server({ try { const newConfig: StatsConfig = { widgets }; + console.log("[Save] Saving layout:", newConfig); const { updateSSHHost } = await import("@/ui/main-axios.ts"); - await updateSSHHost(currentHostConfig.id, { + const result = await updateSSHHost(currentHostConfig.id, { ...currentHostConfig, statsConfig: JSON.stringify(newConfig), } as any); + console.log("[Save] Server response:", result); setHasUnsavedChanges(false); toast.success(t("serverStats.layoutSaved")); window.dispatchEvent(new Event("ssh-hosts:changed")); } catch (error) { + console.error("[Save] Failed to save layout:", error); toast.error(t("serverStats.failedToSaveLayout")); } }; @@ -153,13 +162,17 @@ export function Server({ {isEditMode && ( )} -