import React from "react"; import { useTranslation } from "react-i18next"; import { Server, History, Clock, Database, Key, ArrowDownUp, } from "lucide-react"; import { Button } from "@/components/button"; import { UpdateLog } from "@/dashboard/panels/UpdateLog"; interface ServerOverviewCardProps { loggedIn: boolean; versionText: string; versionStatus: "up_to_date" | "requires_update" | "beta"; uptime: string; dbHealth: "healthy" | "error"; totalServers: number; totalTunnels: number; totalCredentials: number; updateCheckDisabled?: boolean; } export function ServerOverviewCard({ loggedIn, versionText, versionStatus, uptime, dbHealth, totalServers, totalTunnels, totalCredentials, updateCheckDisabled = false, }: ServerOverviewCardProps): React.ReactElement { const { t } = useTranslation(); return (

{t("dashboard.serverOverview")}

{t("dashboard.version")}

{versionText}

{!updateCheckDisabled && ( <> )}

{t("dashboard.uptime")}

{uptime}

{t("dashboard.database")}

{dbHealth === "healthy" ? t("dashboard.healthy") : t("dashboard.error")}

{t("dashboard.totalHosts")}

{totalServers}

{t("dashboard.totalTunnels")}

{totalTunnels}

{t("dashboard.totalCredentials")}

{totalCredentials}

); }