"use client"; import { NezhaAPISafe } from "@/app/[locale]/types/nezha-api"; import { BackIcon } from "@/components/Icon"; import AnimatedCircularProgressBar from "@/components/ui/animated-circular-progress-bar"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent } from "@/components/ui/card"; import getEnv from "@/lib/env-entry"; import { cn, nezhaFetcher } from "@/lib/utils"; import { useLocale } from "next-intl"; import { useRouter } from "next/navigation"; import useSWR from "swr"; export default function ServerDetailClient({ server_id, }: { server_id: number; }) { const router = useRouter(); const locale = useLocale(); const { data, error } = useSWR( `/api/detail?server_id=${server_id}`, nezhaFetcher, { refreshInterval: Number(getEnv("NEXT_PUBLIC_NezhaFetchInterval")) || 5000, }, ); if (error) { return ( <>

{error.message}

{/* {t("chart_fetch_error_message")} */} fetch_error_message

); } if (!data) return null; return (
{ router.push(`/${locale}/`); }} className="flex flex-none cursor-pointer font-semibold leading-none items-center break-all tracking-tight gap-0.5 text-xl" > {data?.name}

Status

{data?.online_status ? "Online" : "Offline"}

Uptime

{" "} {(data?.status.Uptime / 86400).toFixed(0)} Days{" "}

Tag

{" "} {data?.tag || "Unknown"}{" "}

Arch

{" "} {data?.host.Arch || "Unknown"}{" "}

Version

{" "} {data?.host.Version || "Unknown"}{" "}

System

{data?.host.Platform ? (
{" "} {data?.host.Platform || "Unknown"} -{" "} {data?.host.PlatformVersion}{" "}
) : (
Unknown
)}

CPU

{data?.host.CPU ? (
{" "} {data?.host.CPU || "Unknown"}
) : (
Unknown
)}

CPU

{data?.status.CPU.toFixed(0)}%

Mem

{((data?.status.MemUsed / data?.host.MemTotal) * 100).toFixed( 0, )} %

Swap

{data?.status.SwapUsed ? ( (data?.status.SwapUsed / data?.host.SwapTotal) * 100 ).toFixed(0) : 0} %

Disk

{((data?.status.DiskUsed / data?.host.DiskTotal) * 100).toFixed( 0, )} %

); }