Updated title
This commit is contained in:
@@ -5,11 +5,31 @@ import { getUuid } from "@/lib/hypixel/api/mojang"
|
||||
import { Guild } from "@/lib/schema/guild"
|
||||
import { cn, parseSearchParams } from "@/lib/utils"
|
||||
import { Loader2Icon, ShieldAlert } from "lucide-react"
|
||||
import { Metadata } from "next"
|
||||
import { ReactNode, Suspense } from "react"
|
||||
import z from "zod"
|
||||
import { GuildPageLoadText } from "./_client"
|
||||
import Sidebar from "./_components/sidebar"
|
||||
|
||||
export async function generateMetadata({ params, searchParams }: PageProps<"/guild/[value]">): Promise<Metadata> {
|
||||
const { value } = await params
|
||||
const ptype = parseSearchParams(await searchParams).getValue("type")
|
||||
const { data: type } = z.literal("id").or(z.literal("name")).or(z.literal("player")).default("player").safeParse(ptype)
|
||||
|
||||
switch (type) {
|
||||
case "id":
|
||||
case "name":
|
||||
const g = await getGuild(value, type)
|
||||
return { title: g?.name !== undefined ? `${g.name} Guild` : "Unknown" }
|
||||
case "player":
|
||||
case undefined:
|
||||
const p = await getUuid(value)
|
||||
return { title: p !== null ? `${p.name}'s Guild` : "Player not in Guild" }
|
||||
default:
|
||||
throw new Error(`Unknown type: ${type satisfies never}`)
|
||||
}
|
||||
}
|
||||
|
||||
export default function GuildPage({ params, searchParams }: PageProps<"/guild/[value]">) {
|
||||
const maintenance = env.MAINTENANCE_MODE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user