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} ); }