import ServerUsageBar from "@/components/ServerUsageBar"; import { Card } from "@/components/ui/card"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { cn, formatNezhaInfo } from "@/lib/utils"; import { useLocale, useTranslations } from "next-intl"; import { env } from "next-runtime-env"; import { useRouter } from "next/navigation"; import { NezhaAPISafe } from "@/app/[locale]/types/nezha-api"; import ServerCardPopover from "@/components/ServerCardPopover"; import ServerFlag from "@/components/ServerFlag"; export default function ServerCard({ serverInfo, }: { serverInfo: NezhaAPISafe; }) { const t = useTranslations("ServerCard"); const router = useRouter(); const { id, name, country_code, online, cpu, up, down, mem, stg, ...props } = formatNezhaInfo(serverInfo); const showFlag = env("NEXT_PUBLIC_ShowFlag") === "true"; const locale = useLocale(); return online ? (
{showFlag ? : null}

{name}

{ router.push(`/${locale}/${id}`); }} className={"grid cursor-pointer grid-cols-5 items-center gap-3"} >

{t("CPU")}

{cpu.toFixed(2)}%

{t("Mem")}

{mem.toFixed(2)}%

{t("STG")}

{stg.toFixed(2)}%

{t("Upload")}

{up.toFixed(2)}M/s

{t("Download")}

{down.toFixed(2)}M/s
) : (
{showFlag ? : null}

{name}

{t("Offline")}

); }