feat: unraid integration (#4439)

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
This commit is contained in:
Manuel
2026-01-02 18:54:47 +00:00
committed by GitHub
parent acb0bc68d2
commit 9b0dd6d6ce
9 changed files with 277 additions and 4 deletions

View File

@@ -47,7 +47,7 @@ export const SystemResourceMemoryChart = ({
return (
<Paper px={3} py={2} withBorder shadow="md" radius="md">
<Text c="dimmed" size="xs">
{humanFileSize(value)} / {humanFileSize(totalCapacityInBytes)} (
{humanFileSize(Math.round(value))} / {humanFileSize(totalCapacityInBytes)} (
{Math.round((value / totalCapacityInBytes) * 100)}%)
</Text>
</Paper>

View File

@@ -22,6 +22,7 @@ export default function SystemResources({ integrationIds, options }: WidgetCompo
});
const memoryCapacityInBytes =
(data[0]?.healthInfo.memAvailableInBytes ?? 0) + (data[0]?.healthInfo.memUsedInBytes ?? 0);
const [items, setItems] = useState<{ cpu: number; memory: number; network: { up: number; down: number } | null }[]>(
data.map((item) => ({
cpu: item.healthInfo.cpuUtilization,

View File

@@ -14,7 +14,7 @@ const labelDisplayModeOptions = {
export const { definition, componentLoader } = createWidgetDefinition("systemResources", {
icon: IconGraphFilled,
supportedIntegrations: ["dashDot", "openmediavault", "truenas"],
supportedIntegrations: ["dashDot", "openmediavault", "truenas", "unraid"],
createOptions() {
return optionsBuilder.from((factory) => ({
hasShadow: factory.switch({ defaultValue: true }),