32 lines
884 B
TypeScript
32 lines
884 B
TypeScript
import type { Metadata } from "next";
|
|
import { notFound } from "next/navigation";
|
|
import { connection } from "next/server";
|
|
|
|
import { StructuredGuideShell } from "@/components/public/structured-guide";
|
|
import { getCachedPublicGuide } from "@/lib/cache/public";
|
|
|
|
type Params = Promise<{ character: string }>;
|
|
|
|
export async function generateMetadata({
|
|
params,
|
|
}: {
|
|
params: Params;
|
|
}): Promise<Metadata> {
|
|
await connection();
|
|
const guide = await getCachedPublicGuide((await params).character);
|
|
return guide
|
|
? { title: `${guide.name}`, description: guide.overview }
|
|
: { title: "ไม่พบไกด์" };
|
|
}
|
|
|
|
export default async function GuideOverviewPage({
|
|
params,
|
|
}: {
|
|
params: Params;
|
|
}) {
|
|
await connection();
|
|
const guide = await getCachedPublicGuide((await params).character);
|
|
if (!guide) notFound();
|
|
return <StructuredGuideShell guide={guide} />;
|
|
}
|