feat : overwite buzz.sudloh.com/guide
This commit is contained in:
@@ -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] },
|
||||
}
|
||||
|
||||
@@ -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] },
|
||||
}
|
||||
|
||||
@@ -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<"/">) {
|
||||
|
||||
@@ -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,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
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user