feat: 接入预览模式(Next.js Draft Mode)
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { notFound } from "next/navigation";
|
||||
import type { Metadata } from "next";
|
||||
import { getCaseStudyBySlug } from "@/services/case.service";
|
||||
import { getPreviewOrFallback } from "@/services/preview.service";
|
||||
import { BlockRenderer } from "@/blocks/BlockRenderer";
|
||||
import type { CaseStudyPageDetail } from "@/types/wagtail";
|
||||
|
||||
interface CaseStudyDetailPageProps {
|
||||
params: Promise<{ slug: string }>;
|
||||
@@ -19,7 +21,11 @@ export default async function CaseStudyDetailPage({
|
||||
params,
|
||||
}: CaseStudyDetailPageProps) {
|
||||
const { slug } = await params;
|
||||
const item = await getCaseStudyBySlug(slug).catch(() => null);
|
||||
const item = await getPreviewOrFallback<CaseStudyPageDetail>(
|
||||
"cases.casestudypage",
|
||||
"body,client_name,industry,published_at,summary",
|
||||
() => getCaseStudyBySlug(slug).catch(() => null),
|
||||
);
|
||||
|
||||
if (!item) {
|
||||
notFound();
|
||||
|
||||
Reference in New Issue
Block a user