"use client"; import { NezhaAPISafe } from "@/app/[locale]/types/nezha-api"; import { BackIcon } from "@/components/Icon"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent } from "@/components/ui/card"; import getEnv from "@/lib/env-entry"; import { cn, formatBytes, 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{" "}

Version

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

Arch

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

Mem

{formatBytes(data?.host.MemTotal)}

Disk

{formatBytes(data?.host.DiskTotal)}

System

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

CPU

{data?.host.CPU ? (
{data?.host.CPU}
) : (
Unknown
)}
); }