diff --git a/frontend/src/components/server/tabs/Stats.tsx b/frontend/src/components/server/tabs/Stats.tsx index 8b3f7000d..b148c087c 100644 --- a/frontend/src/components/server/tabs/Stats.tsx +++ b/frontend/src/components/server/tabs/Stats.tsx @@ -1,12 +1,13 @@ -import { CommandLogError } from "@monitor/types"; +import { CommandLogError, SystemStats } from "@monitor/types"; import { Component, createEffect, createSignal, Show } from "solid-js"; import { pushNotification } from "../../.."; import { useAppState } from "../../../state/StateProvider"; import { useTheme } from "../../../state/ThemeProvider"; import { combineClasses } from "../../../util/helpers"; -import { getServerStats } from "../../../util/query"; +import { getServerStats, getServerSystemStats } from "../../../util/query"; import Button from "../../util/Button"; import Icon from "../../util/Icon"; +import Flex from "../../util/layout/Flex"; import Grid from "../../util/layout/Grid"; import Loading from "../../util/loading/Loading"; import s from "./stats.module.scss"; @@ -20,13 +21,43 @@ const Stats: Component<{}> = (p) => { getServerStats(selected.id()).then(setLog); } }; - const { themeClass } = useTheme(); createEffect(load); + const [sysStats, setSysStats] = createSignal(); + const [refreshingStats, setRefreshingStats] = createSignal(false); + const loadStats = () => { + if (selected.id()) { + getServerSystemStats(selected.id()).then(setSysStats); + } + }; + createEffect(loadStats); + const { themeClass } = useTheme(); return ( + + +

cpu: {sysStats()!.cpu}%

+

mem: {sysStats()!.mem.usedMemPercentage}%

+

disk: {sysStats()!.disk.usedPercentage}%

+ +
+
}>