import type { MantineColor } from "@mantine/core"; import { Divider, Group, HoverCard, Indicator, RingProgress, Stack, Text } from "@mantine/core"; import { useColorScheme } from "@mantine/hooks"; import { IconHeartbeat } from "@tabler/icons-react"; import type { TdarrStatistics } from "@homarr/integrations"; import { useI18n } from "@homarr/translation/client"; interface HealthCheckStatusProps { statistics: TdarrStatistics; } export function HealthCheckStatus(props: HealthCheckStatusProps) { const colorScheme = useColorScheme(); const t = useI18n("widget.mediaTranscoding.healthCheck"); const indicatorColor = props.statistics.failedHealthCheckCount ? "red" : props.statistics.stagedHealthCheckCount ? "yellow" : "green"; return ( {t("title")} {props.statistics.stagedHealthCheckCount} {t("queued")} {props.statistics.totalHealthCheckCount} {t("status.healthy")} {props.statistics.failedHealthCheckCount} {t("status.unhealthy")} ); } function textColor(color: MantineColor, theme: "light" | "dark") { return `${color}.${theme === "light" ? 8 : 5}`; }