import { PayloadRequest, CollectionSlug } from 'payload' const collectionPrefixMap: Partial> = { posts: '/blog', pages: '', } type Props = { collection: keyof typeof collectionPrefixMap slug: string req: PayloadRequest } export const generatePreviewPath = ({ collection, slug }: Props) => { if (collection === 'posts') { const baseUrl = process.env.BLOG_APP_URL || 'http://localhost:3000' // Use our preview API route for post previews return `${baseUrl}/api/preview?slug=${slug}` } const encodedParams = new URLSearchParams({ slug, collection, path: `${collectionPrefixMap[collection]}/${slug}`, previewSecret: process.env.PREVIEW_SECRET || '', }) const url = `/next/preview?${encodedParams.toString()}` return url }