feat : overwite buzz.sudloh.com/guide
CI / Verify application and manifests (push) Successful in 1m27s
CI / Build immutable images and deploy (push) Failing after 5m58s

This commit is contained in:
2026-09-17 21:55:16 +07:00 Unverified
parent 6698dc1302
commit 801386a8ed
31 changed files with 372 additions and 27 deletions
+3 -1
View File
@@ -4,18 +4,20 @@ import { notFound } from "next/navigation";
import { GoogleAdsense } from "@/components/public/google-adsense";
import { publicSections, StructuredGuideShell } from "@/components/public/structured-guide";
import { getCachedPublicGuide } from "@/lib/cache/public";
import { siteUrl } from "@/lib/site-url";
type Params = Promise<{ character: string; page: string }>;
export const instant = false;
export async function generateMetadata({ params }: { params: Params }): Promise<Metadata> {
const { character } = await params;
const { character, page } = await params;
const guide = await getCachedPublicGuide(character);
return guide
? {
title: `${guide.name}`,
description: guide.overview,
alternates: { canonical: `${siteUrl}/${encodeURIComponent(guide.slug)}/${encodeURIComponent(page)}` },
openGraph: { images: [guide.coverUrl] },
twitter: { images: [guide.coverUrl] },
}
+2
View File
@@ -4,6 +4,7 @@ import { notFound } from "next/navigation";
import { GoogleAdsense } from "@/components/public/google-adsense";
import { StructuredGuideShell } from "@/components/public/structured-guide";
import { getCachedPublicGuide } from "@/lib/cache/public";
import { siteUrl } from "@/lib/site-url";
type Params = Promise<{ character: string }>;
@@ -19,6 +20,7 @@ export async function generateMetadata({
? {
title: `${guide.name}`,
description: guide.overview,
alternates: { canonical: `${siteUrl}/${encodeURIComponent(guide.slug)}` },
openGraph: { images: [guide.coverUrl] },
twitter: { images: [guide.coverUrl] },
}
+3
View File
@@ -27,6 +27,9 @@ export const metadata: Metadata = {
},
description: "ไกด์ตัวละครจากช่องเกนชินไม่ใช่เกมมือถือ",
keywords: ["เกนชิน", "เกนชินไม่ใช่เกมมือถือ", "Buzz", "ไกด์", "สุดหล่อ"],
robots: process.env.PUBLIC_MIRROR === "true"
? { index: false, follow: false }
: undefined,
};
export default function RootLayout({ children }: LayoutProps<"/">) {
+6
View File
@@ -7,6 +7,12 @@ 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";
import { siteUrl } from "@/lib/site-url";
import type { Metadata } from "next";
export const metadata: Metadata = {
alternates: { canonical: siteUrl },
};
async function DirectoryContent() {
await connection();
+3
View File
@@ -3,6 +3,9 @@ import type { MetadataRoute } from "next";
import { siteUrl } from "@/lib/site-url";
export default function robots(): MetadataRoute.Robots {
if (process.env.PUBLIC_MIRROR === "true") {
return { rules: { userAgent: "*", disallow: "/" } };
}
return {
rules: {
userAgent: "*",
+5 -2
View File
@@ -10,6 +10,8 @@ import {
} from "@/components/ui/avatar";
import { SiteFooter } from "@/components/public/site-footer";
import { Button } from "@/components/ui/button";
import { withBasePath } from "@/lib/base-path";
import { siteUrl } from "@/lib/site-url";
import {
Card,
CardContent,
@@ -57,6 +59,7 @@ const specialThanks: ThanksProfile[] = [
export const metadata: Metadata = {
title: "Special Thanks",
description: "ขอบคุณทุกคนที่มีส่วนช่วยให้ Buzz Guide เกิดขึ้นได้",
alternates: { canonical: `${siteUrl}/thanks` },
};
function getInitials(username: string) {
@@ -73,7 +76,7 @@ export default function ThanksPage() {
className="flex min-h-11 items-center gap-3 rounded-lg font-heading font-semibold focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
>
<Image
src="/icon.png"
src={withBasePath("/icon.png")}
alt=""
width={36}
height={36}
@@ -97,7 +100,7 @@ export default function ThanksPage() {
<Card className="w-full gap-0 py-0 sm:flex-row sm:items-center">
<CardHeader className="grid-cols-[auto_1fr] items-center gap-x-4 gap-y-1 py-4 text-left sm:flex-1">
<Image
src="/thanks/astral.png"
src={withBasePath("/thanks/astral.png")}
alt="Astral Development
"
width={128}