import type { Metadata } from 'next/types' import { CollectionArchive } from '@/components/CollectionArchive' import configPromise from '@payload-config' import { getPayload } from 'payload' import React from 'react' import { Search } from '@/search/Component' import PageClient from './page.client' import { CardPostData } from '@/components/Card' type Args = { searchParams: Promise<{ q: string }> } export default async function Page({ searchParams: searchParamsPromise }: Args) { const { q: query } = await searchParamsPromise const payload = await getPayload({ config: configPromise }) const posts = await payload.find({ collection: 'search', depth: 1, limit: 12, select: { title: true, slug: true, categories: true, meta: true, }, // pagination: false reduces overhead if you don't need totalDocs pagination: false, ...(query ? { where: { or: [ { title: { like: query, }, }, { 'meta.description': { like: query, }, }, { 'meta.title': { like: query, }, }, { slug: { like: query, }, }, ], }, } : {}), }) return (

Search

{posts.totalDocs > 0 ? ( ) : (
No results found.
)}
) } export function generateMetadata(): Metadata { return { title: `Payload Website Template Search`, } }