"use client"; import { ServerApi } from "../../types/nezha-api"; import ServerCard from "../../../../components/ServerCard"; import { nezhaFetcher } from "../../../../lib/utils"; import useSWR from "swr"; import getEnv from "../../../../lib/env-entry"; export default function ServerListClient() { const { data, error } = useSWR("/api/server", nezhaFetcher, { refreshInterval: Number(getEnv("NEXT_PUBLIC_NezhaFetchInterval")) || 2000, }); if (error) return (

{error.message}

Please check your environment variables and review the server console logs for more details.

); if (!data) return null; const { result } = data; const positiveDisplayIndex = result .filter((server) => server.display_index > 0) .sort((a, b) => b.display_index - a.display_index); const noDisplayIndex = result .filter((server) => !server.display_index) .sort((a, b) => a.id - b.id); const negativeDisplayIndex = result .filter((server) => server.display_index < 0) .sort((a, b) => b.display_index - a.display_index); const sortedServers = [ ...positiveDisplayIndex, ...noDisplayIndex, ...negativeDisplayIndex, ]; return (
{sortedServers.map((serverInfo) => ( ))}
); }