From 441f213324043e1c55173fa25781b2c2fcb5e5fd Mon Sep 17 00:00:00 2001 From: Taken Date: Thu, 4 Sep 2025 23:15:42 +0200 Subject: [PATCH] Updated page to support maintance mode --- src/app/(stats)/player/[ign]/page.tsx | 14 +++++++++++++- src/lib/env/server.ts | 12 +++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/app/(stats)/player/[ign]/page.tsx b/src/app/(stats)/player/[ign]/page.tsx index d121291..876f0aa 100644 --- a/src/app/(stats)/player/[ign]/page.tsx +++ b/src/app/(stats)/player/[ign]/page.tsx @@ -1,11 +1,12 @@ import DisplayName from "@/components/player/displayname" import { Accordion } from "@/components/ui/accordion" import { Card, CardContent } from "@/components/ui/card" +import { env } from "@/lib/env/server" import { getGuild } from "@/lib/hypixel/api/guild" import { getUuid } from "@/lib/hypixel/api/mojang" import { getPlayer } from "@/lib/hypixel/api/player" import { getExactLevel } from "@/lib/hypixel/general/level" -import { Loader2Icon } from "lucide-react" +import { Loader2Icon, ShieldAlert } from "lucide-react" import { Metadata } from "next" import { Suspense } from "react" import Sidebar from "./_components/Sidebar" @@ -23,6 +24,17 @@ export async function generateMetadata({ params }: { params: Promise<{ ign: stri } export default async function PlayerPage({ params }: PageProps<"/player/[ign]">) { + const maintenance = env.MAINTENANCE_MODE + + if (maintenance) { + return ( +
+ +

Not available right now. This is just so I could have a front page for Hypixel Production API Key.

+
+ ) + } + const { ign } = await params return ( diff --git a/src/lib/env/server.ts b/src/lib/env/server.ts index 029f28e..f4774d7 100644 --- a/src/lib/env/server.ts +++ b/src/lib/env/server.ts @@ -1,10 +1,12 @@ -import { createEnv } from "@t3-oss/env-nextjs"; -import z from "zod"; +import { createEnv } from "@t3-oss/env-nextjs" +import z from "zod" export const env = createEnv({ server: { - HYPIXEL_API_KEY: z.string().min(1), + MAINTENANCE_MODE: z.coerce.boolean().default(false), + HYPIXEL_API_KEY: z.string().min(1) }, experimental__runtimeEnv: true, - emptyStringAsUndefined: true, -}) \ No newline at end of file + emptyStringAsUndefined: true +}) +