import getQueryFromSlug from '@/helpers/get-query-from-slug'; import { clientFetch } from 'lib/sanity/sanity.client'; import type { Metadata } from 'next'; import { notFound } from 'next/navigation'; import CategoryPage from './components/category-page'; import ProductPage from './components/product-page'; import SinglePage from './components/single-page'; export const runtime = 'edge'; export const revalidate = 43200; // 12 hours in seconds export async function generateMetadata({ params }: { params: { locale: string; slug: string[] }; }): Promise { const { slug, locale } = params; console.log(slug, locale); const { query = '', queryParams } = getQueryFromSlug(slug, locale); const page = await clientFetch(query, queryParams); if (!page) return notFound(); return { title: page.seo?.title || page.title, description: page.seo?.description || page.bodySummary, openGraph: { publishedTime: page.createdAt, modifiedTime: page.updatedAt, type: 'article' } }; } interface PageParams { params: { locale: string; slug: string[]; }; } export default async function Page({ params }: PageParams) { const { slug, locale } = params; const { query = '', queryParams, docType } = getQueryFromSlug(slug, locale); return ( <> {docType === 'page' && } {docType === 'product' && } {docType === 'category' && } ); }