import { fetchDashboardData } from "./api.js"; import { getState, subscribe, updateData } from "./state.js"; import { renderHeader } from "./renderers/header.js"; import { renderStats } from "./renderers/stats.js"; import { renderStorage } from "./renderers/storage.js"; import { renderServices } from "./renderers/services.js"; import { renderNetworkHealth } from "./renderers/network-health.js"; import { renderQuickAccess } from "./renderers/quick-access.js"; import { renderHomeAssistant } from "./renderers/home-assistant.js"; import { renderUptimeKuma } from "./renderers/uptime-kuma.js"; import { renderImmich } from "./renderers/immich.js"; import { renderBackrest } from "./renderers/backrest.js"; function render(state) { renderHeader(state); renderStats(state); renderStorage(state); renderServices(state); renderNetworkHealth(state); renderHomeAssistant(state); renderUptimeKuma(state); renderImmich(state); renderBackrest(state); renderQuickAccess(); } subscribe(render); async function refresh() { try { const data = await fetchDashboardData(); updateData(data); } catch (err) { console.error("Dashboard fetch error:", err); } } render(getState()); refresh(); setInterval(refresh, (getState().overview?.refresh_hint_seconds ?? 20) * 1000);