fix: wire Payload CMS server functions and import map

This commit is contained in:
flym 2026-09-09 22:37:10 +08:00
parent 88c081fe23
commit f5cc7b45c7
4 changed files with 18 additions and 2 deletions

View File

@ -1,8 +1,8 @@
import config from "@payload-config"; import config from "@payload-config";
import { RootPage, generatePageMetadata } from "@payloadcms/next/views"; import { RootPage, generatePageMetadata } from "@payloadcms/next/views";
import { importMap } from "../importMap";
const configPromise = Promise.resolve(config as any); const configPromise = Promise.resolve(config as any);
const importMap = {} as any;
export const generateMetadata = ({ params, searchParams }: { params: Promise<Record<string, string | string[]>>; searchParams: Promise<Record<string, string | string[]>> }) => generatePageMetadata({ config: configPromise, params, searchParams }); export const generateMetadata = ({ params, searchParams }: { params: Promise<Record<string, string | string[]>>; searchParams: Promise<Record<string, string | string[]>> }) => generatePageMetadata({ config: configPromise, params, searchParams });

View File

@ -0,0 +1,6 @@
import { CollectionCards as CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } from '@payloadcms/next/rsc'
/** @type import('payload').ImportMap */
export const importMap = {
"@payloadcms/next/rsc#CollectionCards": CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1
}

View File

@ -1,10 +1,10 @@
import config from "@payload-config"; import config from "@payload-config";
import { RootLayout } from "@payloadcms/next/layouts"; import { RootLayout } from "@payloadcms/next/layouts";
import "@payloadcms/next/css"; import "@payloadcms/next/css";
import { serverFunction } from "./serverFunction";
const configPromise = Promise.resolve(config as any); const configPromise = Promise.resolve(config as any);
const importMap = {} as any; const importMap = {} as any;
const serverFunction = async () => null;
export default function PayloadLayout({ children }: { children: React.ReactNode }) { export default function PayloadLayout({ children }: { children: React.ReactNode }) {
return RootLayout({ config: configPromise, importMap, serverFunction, children }); return RootLayout({ config: configPromise, importMap, serverFunction, children });

View File

@ -0,0 +1,10 @@
"use server";
import { handleServerFunctions } from "@payloadcms/next/layouts";
import type { ServerFunctionClientArgs } from "payload";
import config from "@payload-config";
import { importMap } from "./admin/importMap";
export async function serverFunction(args: ServerFunctionClientArgs) {
return handleServerFunctions({ ...args, config: Promise.resolve(config as any), importMap });
}