import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip" import { cn } from "@/lib/utils" import React from "react" import { useTranslation } from "react-i18next" import { Separator } from "./ui/separator" interface ServiceTrackerProps { days: Array<{ completed: boolean date?: Date uptime: number delay: number }> className?: string title?: string uptime?: number avgDelay?: number } export const ServiceTrackerClient: React.FC = ({ days, className, title, uptime = 100, avgDelay = 0 }) => { const { t } = useTranslation() const customBackgroundImage = (window.CustomBackgroundImage as string) !== "" ? window.CustomBackgroundImage : undefined const getUptimeColor = (uptime: number) => { if (uptime >= 99) return "text-emerald-500" if (uptime >= 95) return "text-amber-500" return "text-rose-500" } const getDelayColor = (delay: number) => { if (delay < 100) return "text-emerald-500" if (delay < 300) return "text-amber-500" return "text-rose-500" } const getStatusColor = (uptime: number) => { if (uptime >= 99) return "bg-emerald-500" if (uptime >= 95) return "bg-amber-500" return "bg-rose-500" } return (
{title}
{avgDelay.toFixed(0)}ms {uptime.toFixed(1)}% {t("serviceTracker.uptime")}
{days.map((day, index) => (

{day.date?.toLocaleDateString()}

{t("serviceTracker.uptime")}: 95 ? "text-green-500" : "text-red-500")}>{day.uptime.toFixed(1)}%
{t("serviceTracker.delay")}: {day.delay.toFixed(0)}ms
))}
30 {t("serviceTracker.daysAgo")} {t("serviceTracker.today")}
) } export default ServiceTrackerClient