import { Group, Paper, SimpleGrid, Stack, Text } from "@mantine/core";
import { IconDevices, IconNetwork, IconUsers, IconVideo } from "@tabler/icons-react";
import type { TracearrDashboardData } from "@homarr/integrations/types";
import { useScopedI18n } from "@homarr/translation/client";
export function StatsBar({
stats,
summary,
width,
}: {
stats: TracearrDashboardData["stats"];
summary: TracearrDashboardData["streams"]["summary"];
width: number;
}) {
const t = useScopedI18n("widget.tracearr");
const cols = width > 400 ? 4 : width > 250 ? 2 : 1;
return (
} label={t("stats.activeStreams")} value={stats.activeStreams} />
} label={t("stats.totalUsers")} value={stats.totalUsers} />
}
label={t("stats.transcodes")}
value={`${summary.transcodes}/${summary.total}`}
/>
} label={t("stats.bandwidth")} value={summary.totalBitrate} />
);
}
function StatCard({ icon, label, value }: { icon: React.ReactNode; label: string; value: string | number }) {
return (
{icon}
{label}
{value}
);
}