From 0b93cf7af82387278c3f0defa92e50e310fcba07 Mon Sep 17 00:00:00 2001 From: hamster1963 <1410514192@qq.com> Date: Thu, 5 Dec 2024 15:07:20 +0800 Subject: [PATCH] feat: show map in main page --- app/(main)/ClientComponents/GlobalInfo.tsx | 2 - app/(main)/ClientComponents/GlobalLoading.tsx | 2 - .../ClientComponents/ServerListClient.tsx | 20 +++++++-- .../ClientComponents/ServerOverviewClient.tsx | 42 ++++--------------- app/(main)/page.tsx | 17 +------- 5 files changed, 27 insertions(+), 56 deletions(-) diff --git a/app/(main)/ClientComponents/GlobalInfo.tsx b/app/(main)/ClientComponents/GlobalInfo.tsx index ff777c6..f407480 100644 --- a/app/(main)/ClientComponents/GlobalInfo.tsx +++ b/app/(main)/ClientComponents/GlobalInfo.tsx @@ -1,6 +1,5 @@ "use client"; -import GlobalBackButton from "@/components/GlobalBackButton"; import { useTranslations } from "next-intl"; type GlobalInfoProps = { @@ -11,7 +10,6 @@ export default function GlobalInfo({ countries }: GlobalInfoProps) { const t = useTranslations("Global"); return (
-

{t("Distributions")} {countries.length} {t("Regions")}

diff --git a/app/(main)/ClientComponents/GlobalLoading.tsx b/app/(main)/ClientComponents/GlobalLoading.tsx index a87fb4a..c6141c6 100644 --- a/app/(main)/ClientComponents/GlobalLoading.tsx +++ b/app/(main)/ClientComponents/GlobalLoading.tsx @@ -1,6 +1,5 @@ "use client"; -import GlobalBackButton from "@/components/GlobalBackButton"; import { Loader } from "@/components/loading/Loader"; import { useTranslations } from "next-intl"; @@ -8,7 +7,6 @@ export default function GlobalLoading() { const t = useTranslations("Global"); return (
-
{t("Loading")} diff --git a/app/(main)/ClientComponents/ServerListClient.tsx b/app/(main)/ClientComponents/ServerListClient.tsx index 1d68c95..8d10961 100644 --- a/app/(main)/ClientComponents/ServerListClient.tsx +++ b/app/(main)/ClientComponents/ServerListClient.tsx @@ -10,19 +10,25 @@ import { useStatus } from "@/lib/status-context"; import { cn, nezhaFetcher } from "@/lib/utils"; import { MapIcon, ViewColumnsIcon } from "@heroicons/react/20/solid"; import { useTranslations } from "next-intl"; -import { useRouter } from "next/navigation"; +import dynamic from "next/dynamic"; import { useEffect, useRef, useState } from "react"; import useSWR from "swr"; +import GlobalLoading from "./GlobalLoading"; + +const ServerGlobal = dynamic(() => import("./Global"), { + loading: () => , +}); + export default function ServerListClient() { const { status } = useStatus(); const { filter } = useFilter(); const t = useTranslations("ServerListClient"); const containerRef = useRef(null); const defaultTag = "defaultTag"; - const router = useRouter(); const [tag, setTag] = useState(defaultTag); + const [showMap, setShowMap] = useState(false); const [inline, setInline] = useState("0"); useEffect(() => { @@ -131,9 +137,14 @@ export default function ServerListClient() {
@@ -161,6 +172,7 @@ export default function ServerListClient() { /> )}
+ {showMap && } {inline === "1" && (
@@ -50,14 +45,10 @@ export default function ServerOverviewClient() {
{ - if (!global) { - setFilter(false); - setStatus("all"); - } + setFilter(false); + setStatus("all"); }} - className={cn("cursor-pointer hover:border-blue-500 transition-all", { - "pointer-events-none": global, - })} + className={cn("cursor-pointer hover:border-blue-500 transition-all")} >
@@ -83,19 +74,14 @@ export default function ServerOverviewClient() { { - if (!global) { - setFilter(false); - setStatus("online"); - } + setFilter(false); + setStatus("online"); }} className={cn( "cursor-pointer hover:ring-green-500 ring-1 ring-transparent transition-all", { "ring-green-500 ring-2 border-transparent": status === "online", }, - { - "pointer-events-none": global, - }, )} > @@ -123,19 +109,14 @@ export default function ServerOverviewClient() { { - if (!global) { - setFilter(false); - setStatus("offline"); - } + setFilter(false); + setStatus("offline"); }} className={cn( "cursor-pointer hover:ring-red-500 ring-1 ring-transparent transition-all", { "ring-red-500 ring-2 border-transparent": status === "offline", }, - { - "pointer-events-none": global, - }, )} > @@ -163,19 +144,14 @@ export default function ServerOverviewClient() { { - if (!global) { - setStatus("all"); - setFilter(true); - } + setStatus("all"); + setFilter(true); }} className={cn( "cursor-pointer hover:ring-purple-500 ring-1 ring-transparent transition-all", { "ring-purple-500 ring-2 border-transparent": filter === true, }, - { - "pointer-events-none": global, - }, )} > diff --git a/app/(main)/page.tsx b/app/(main)/page.tsx index 871fe51..f7cafe8 100644 --- a/app/(main)/page.tsx +++ b/app/(main)/page.tsx @@ -1,24 +1,11 @@ import ServerList from "@/components/ServerList"; import ServerOverview from "@/components/ServerOverview"; -import dynamic from "next/dynamic"; -import GlobalLoading from "./ClientComponents/GlobalLoading"; - -const ServerGlobal = dynamic(() => import("./ClientComponents/Global"), { - loading: () => , -}); - -export default async function Home({ - searchParams, -}: { - searchParams: Promise<{ [key: string]: string | string[] | undefined }>; -}) { - const global = (await searchParams).global; +export default async function Home() { return (
- {!global && } - {global && } +
); }