Files
buzz-sheet/app/page.tsx
T
gunshiz d6153be50d
CI / Verify (push) Successful in 3m8s
CI / Build immutable images and deploy (push) Successful in 3m11s
feat : update
2026-10-05 22:40:59 +07:00

41 lines
1.7 KiB
TypeScript

import { connection } from "next/server";
import { Suspense } from "react";
import { LiveRefresh } from "@/components/live-refresh";
import { GoogleAdsense } from "@/components/public/google-adsense";
import { DirectorySkeleton } from "@/components/public/directory-skeleton";
import { SiteFooter } from "@/components/public/site-footer";
import { StructuredDirectory } from "@/components/public/structured-directory";
import { SiteHeader } from "@/components/public/site-header";
import { getCachedPublicGuideCards } from "@/lib/cache/public";
async function DirectoryContent() {
await connection();
const guides = await getCachedPublicGuideCards();
return <StructuredDirectory guides={guides} />;
}
export default function HomePage() {
return (
<div className="flex min-h-svh flex-col bg-background">
<GoogleAdsense />
<LiveRefresh endpoint="/api/events/directory" />
<SiteHeader />
<main className="mx-auto flex w-full max-w-7xl flex-col gap-8 px-4 pt-4 pb-10 sm:px-6 sm:pt-6 sm:pb-14">
<header className="max-w-3xl">
<h1 className="font-heading text-4xl font-semibold">
เลือกตัวละครแล้วส่องดู
</h1>
<p className="mt-3 text-lg leading-8 text-muted-foreground">
ไกด์ตัวละคร อาวุธ อาร์ติแฟกต์ กลุ่มดาว ดาเมทแต่ละทีม และ ส่วนเสริมเล็กๆน้อยๆ
</p>
</header>
<Suspense fallback={<DirectorySkeleton />}>
<DirectoryContent />
</Suspense>
</main>
<SiteFooter />
</div>
);
}