Files
drop/composables/admin-home.ts
Paco d8db5b5b85 Adds new tile on the admin home page with system data. (#301)
* Adds new tile on the admin home page with system data. Also fixes the active users bug in the pie chart

* Fixes missing parentheses

* Updates user stats cache when signing in

* Reads active number of users from session provider

* Removes unused variable

* Small improvements

* Removes acl properties from system data websocket and performs initial push of data

* fix: remove acl fetch

---------

Co-authored-by: DecDuck <declanahofmeyr@gmail.com>
2026-01-22 10:58:21 +11:00

22 lines
569 B
TypeScript

import type { SerializeObject } from "nitropack";
import type { SystemData } from "~/server/internal/system-data";
const ws = new WebSocketHandler("/api/v1/admin/system-data/ws");
export const useSystemData = () =>
useState<SerializeObject<SystemData>>(
"system-data",
(): SystemData => ({
totalRam: 0,
freeRam: 0,
cpuLoad: 0,
cpuCores: 0,
}),
);
ws.listen((systemDataString) => {
const data = JSON.parse(systemDataString) as SerializeObject<SystemData>;
const systemData = useSystemData();
systemData.value = data;
});