Updated page to support maintance mode

This commit is contained in:
2025-09-04 23:15:42 +02:00
parent 1ac24b8a30
commit 441f213324
2 changed files with 20 additions and 6 deletions

View File

@@ -1,11 +1,12 @@
import DisplayName from "@/components/player/displayname" import DisplayName from "@/components/player/displayname"
import { Accordion } from "@/components/ui/accordion" import { Accordion } from "@/components/ui/accordion"
import { Card, CardContent } from "@/components/ui/card" import { Card, CardContent } from "@/components/ui/card"
import { env } from "@/lib/env/server"
import { getGuild } from "@/lib/hypixel/api/guild" import { getGuild } from "@/lib/hypixel/api/guild"
import { getUuid } from "@/lib/hypixel/api/mojang" import { getUuid } from "@/lib/hypixel/api/mojang"
import { getPlayer } from "@/lib/hypixel/api/player" import { getPlayer } from "@/lib/hypixel/api/player"
import { getExactLevel } from "@/lib/hypixel/general/level" import { getExactLevel } from "@/lib/hypixel/general/level"
import { Loader2Icon } from "lucide-react" import { Loader2Icon, ShieldAlert } from "lucide-react"
import { Metadata } from "next" import { Metadata } from "next"
import { Suspense } from "react" import { Suspense } from "react"
import Sidebar from "./_components/Sidebar" 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]">) { export default async function PlayerPage({ params }: PageProps<"/player/[ign]">) {
const maintenance = env.MAINTENANCE_MODE
if (maintenance) {
return (
<div className="flex flex-col gap-2 justify-center items-center h-screen">
<ShieldAlert className="size-30" />
<h1 className="text-xl">Not available right now. This is just so I could have a front page for Hypixel Production API Key.</h1>
</div>
)
}
const { ign } = await params const { ign } = await params
return ( return (

12
src/lib/env/server.ts vendored
View File

@@ -1,10 +1,12 @@
import { createEnv } from "@t3-oss/env-nextjs"; import { createEnv } from "@t3-oss/env-nextjs"
import z from "zod"; import z from "zod"
export const env = createEnv({ export const env = createEnv({
server: { 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, experimental__runtimeEnv: true,
emptyStringAsUndefined: true, emptyStringAsUndefined: true
}) })