fix(templates): static generation from incorrect params provided (#8530)

This commit is contained in:
Paul
2024-10-02 15:36:46 -06:00
committed by GitHub
parent 9ef4fab65d
commit 132131a4b9
3 changed files with 16 additions and 14 deletions

View File

@@ -13,8 +13,6 @@ import { RenderBlocks } from '@/blocks/RenderBlocks'
import { RenderHero } from '@/heros/RenderHero' import { RenderHero } from '@/heros/RenderHero'
import { generateMeta } from '@/utilities/generateMeta' import { generateMeta } from '@/utilities/generateMeta'
export const dynamic = 'force-static'
export async function generateStaticParams() { export async function generateStaticParams() {
const payload = await getPayloadHMR({ config: configPromise }) const payload = await getPayloadHMR({ config: configPromise })
const pages = await payload.find({ const pages = await payload.find({
@@ -24,11 +22,15 @@ export async function generateStaticParams() {
overrideAccess: false, overrideAccess: false,
}) })
return pages.docs const params = pages.docs
?.filter((doc) => { ?.filter((doc) => {
return doc.slug !== 'home' return doc.slug !== 'home'
}) })
.map(({ slug }) => slug) .map(({ slug }) => {
return { slug }
})
return params
} }
export default async function Page({ params: { slug = 'home' } }) { export default async function Page({ params: { slug = 'home' } }) {

View File

@@ -14,8 +14,6 @@ import { PostHero } from '@/heros/PostHero'
import { generateMeta } from '@/utilities/generateMeta' import { generateMeta } from '@/utilities/generateMeta'
import PageClient from './page.client' import PageClient from './page.client'
export const dynamic = 'force-static'
export async function generateStaticParams() { export async function generateStaticParams() {
const payload = await getPayloadHMR({ config: configPromise }) const payload = await getPayloadHMR({ config: configPromise })
const posts = await payload.find({ const posts = await payload.find({
@@ -25,7 +23,11 @@ export async function generateStaticParams() {
overrideAccess: false, overrideAccess: false,
}) })
return posts.docs?.map(({ slug }) => slug) const params = posts.docs.map(({ slug }) => {
return { slug }
})
return params
} }
export default async function Post({ params: { slug = '' } }) { export default async function Post({ params: { slug = '' } }) {

View File

@@ -6,11 +6,9 @@ import { Pagination } from '@/components/Pagination'
import configPromise from '@payload-config' import configPromise from '@payload-config'
import { getPayloadHMR } from '@payloadcms/next/utilities' import { getPayloadHMR } from '@payloadcms/next/utilities'
import React from 'react' import React from 'react'
export const dynamic = 'force-static'
export const revalidate = 600 export const revalidate = 600
export default async function Page({ params: { pageNumber = 2 } }) { export default async function Page({ params: { pageNumber } }) {
const payload = await getPayloadHMR({ config: configPromise }) const payload = await getPayloadHMR({ config: configPromise })
const posts = await payload.find({ const posts = await payload.find({
@@ -49,9 +47,9 @@ export default async function Page({ params: { pageNumber = 2 } }) {
) )
} }
export function generateMetadata({ params: { pageNumber = 2 } }): Metadata { export function generateMetadata({ params: { pageNumber } }): Metadata {
return { return {
title: `Payload Website Template Posts Page ${pageNumber}`, title: `Payload Website Template Posts Page ${pageNumber || ''}`,
} }
} }
@@ -65,10 +63,10 @@ export async function generateStaticParams() {
overrideAccess: false, overrideAccess: false,
}) })
const pages: number[] = [] const pages: { pageNumber: string }[] = []
for (let i = 1; i <= posts.totalPages; i++) { for (let i = 1; i <= posts.totalPages; i++) {
pages.push(i) pages.push({ pageNumber: String(i) })
} }
return pages return pages