diff --git a/app/(main)/ClientComponents/Global.tsx b/app/(main)/ClientComponents/Global.tsx index 5edc482..c4cbeb0 100644 --- a/app/(main)/ClientComponents/Global.tsx +++ b/app/(main)/ClientComponents/Global.tsx @@ -2,7 +2,7 @@ import { ServerApi } from "@/app/types/nezha-api"; import { nezhaFetcher } from "@/lib/utils"; -import useSWR from "swr"; +import useSWRImmutable from "swr/immutable"; import { geoJsonString } from "../../../lib/geo-json-string"; import GlobalInfo from "./GlobalInfo"; @@ -11,7 +11,7 @@ import { InteractiveMap } from "./InteractiveMap"; import { TooltipProvider } from "./TooltipContext"; export default function ServerGlobal() { - const { data: nezhaServerList, error } = useSWR( + const { data: nezhaServerList, error } = useSWRImmutable( "/api/server", nezhaFetcher, ); diff --git a/app/(main)/ClientComponents/ServerListClient.tsx b/app/(main)/ClientComponents/ServerListClient.tsx index 4426367..254b83d 100644 --- a/app/(main)/ClientComponents/ServerListClient.tsx +++ b/app/(main)/ClientComponents/ServerListClient.tsx @@ -75,6 +75,7 @@ export default function ServerListClient() { const { data, error } = useSWR("/api/server", nezhaFetcher, { refreshInterval: Number(getEnv("NEXT_PUBLIC_NezhaFetchInterval")) || 2000, + dedupingInterval: 1000, }); if (error) diff --git a/app/(main)/ClientComponents/ServerOverviewClient.tsx b/app/(main)/ClientComponents/ServerOverviewClient.tsx index eaad135..8b116bf 100644 --- a/app/(main)/ClientComponents/ServerOverviewClient.tsx +++ b/app/(main)/ClientComponents/ServerOverviewClient.tsx @@ -14,18 +14,16 @@ import { } from "@heroicons/react/20/solid"; import { useTranslations } from "next-intl"; import Image from "next/image"; -import useSWR from "swr"; +import useSWRImmutable from "swr/immutable"; export default function ServerOverviewClient() { const { status, setStatus } = useStatus(); const { filter, setFilter } = useFilter(); const t = useTranslations("ServerOverviewClient"); - const { data, error, isLoading } = useSWR( + + const { data, error, isLoading } = useSWRImmutable( "/api/server", nezhaFetcher, - { - refreshInterval: Number(getEnv("NEXT_PUBLIC_NezhaFetchInterval")) || 2000, - }, ); const disableCartoon = getEnv("NEXT_PUBLIC_DisableCartoon") === "true";