Fix params/searchParams types for Next.js app router

This commit is contained in:
Enguerrand Ozano
2026-02-28 19:37:34 +01:00
parent fc881e5178
commit cdb50e0414
4 changed files with 608 additions and 21 deletions

View File

@@ -1,16 +1,33 @@
import { RootPage, generatePageMetadata } from '@payloadcms/next/views'
import config from '../../../../payload.config'
import { importMap } from '../importMap'
import { RootPage, generatePageMetadata } from '@payloadcms/next/views';
import config from '../../../../payload.config';
import { importMap } from '../importMap';
type Args = {
params: Promise<{ segments: string[] }>
searchParams: Promise<{ [key: string]: string | string[] }>
export type PayloadRouteParams = {
segments?: string[];
};
export type PayloadRouteSearchParams = {
[key: string]: string | string[] | undefined;
};
type Props = {
params: PayloadRouteParams;
searchParams: PayloadRouteSearchParams;
};
export const generateMetadata = (props: Props) => {
return generatePageMetadata({
config,
params: Promise.resolve(props.params) as Promise<{ [key: string]: string | string[] }>,
searchParams: Promise.resolve(props.searchParams) as Promise<{ [key: string]: string | string[] }>,
});
};
export default function Page(props: Props) {
return RootPage({
config,
importMap,
params: Promise.resolve(props.params) as Promise<{ segments: string[] }>,
searchParams: Promise.resolve(props.searchParams) as Promise<{ [key: string]: string | string[] }>,
});
}
export const generateMetadata = ({ params, searchParams }: Args) =>
generatePageMetadata({ config, params, searchParams })
const Page = ({ params, searchParams }: Args) =>
RootPage({ config, importMap, params, searchParams })
export default Page