Files
BayIQ-UI/src/features/dashboard/components/SystemStatusCard.tsx

31 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-11-21 11:41:42 +00:00
import { useInfoSocket } from "../../../app/context/WebSocketContext";
2025-11-20 19:09:43 +00:00
import Card from "../../../ui/Card";
import CardHeader from "../../../ui/CardHeader";
2025-11-24 14:54:05 +00:00
import StatusItemCPU from "./StatusItems/StatusItemCPU";
import StatusItemLocal from "./StatusItems/StatusItemLocal";
import StatusItemThreads from "./StatusItems/StatusItemThreads";
import StatusItemUTC from "./StatusItems/StatusItemUTC";
2025-11-20 19:09:43 +00:00
const SystemStatusCard = () => {
2025-11-21 11:41:42 +00:00
const { data: stats } = useInfoSocket();
2025-11-20 19:09:43 +00:00
return (
2025-11-24 14:54:05 +00:00
<Card className="p-4">
<CardHeader title="System Status" />
2025-11-20 19:09:43 +00:00
{stats ? (
2025-11-24 14:54:05 +00:00
<div className="grid grid-cols-2 grid-rows-2 gap-4 col-span-2">
<StatusItemUTC statusInfoItem={stats["system-clock-utc"]} description={"UTC Time"} />
<StatusItemLocal statusInfoItem={stats["system-clock-local"]} description={"Local Time"} />
<StatusItemCPU statusInfoItem={stats["memory-cpu-status"]} description={"CPU"} />
<StatusItemThreads statusInfoItem={stats["thread-count"]} description={"Threads"} />
</div>
2025-11-20 19:09:43 +00:00
) : (
<span className="text-slate-500">Loading system status</span>
)}
<div className="text-sm flex gap-4"></div>
</Card>
);
};
export default SystemStatusCard;