Skip to content

Commit 68e71a4

Browse files
committed
fix DYNAMIC_SERVER_USAGE
1 parent 0a4c363 commit 68e71a4

File tree

7 files changed

+73
-28
lines changed

7 files changed

+73
-28
lines changed

docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ services:
1717
- pnpm_store:/home/node/.pnpm-store
1818
- ~/.aws:/home/node/.aws
1919
# - ~/.npmrc:/home/node/.npmrc:ro'
20-
environment:
21-
- APP_CMD=${APP_CMD:-dev} # 默认为 dev
2220
env_file:
2321
- .env
2422
depends_on:

src/app/(frontend)/[locale]/[slug]/page.tsx

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ import { generateMeta } from '@/utilities/generateMeta'
1212
import PageClient from './page.client'
1313
import { LivePreviewListener } from '@/components/LivePreviewListener'
1414

15+
import { Locale } from '@/i18n/types'
16+
import { routing } from '@/i18n/routing'
17+
import { setRequestLocale } from 'next-intl/server'
18+
1519
export async function generateStaticParams() {
1620
const payload = await getPayload({ config: configPromise })
1721
const pages = await payload.find({
@@ -25,22 +29,30 @@ export async function generateStaticParams() {
2529
},
2630
})
2731

28-
const params = pages.docs.map(({ slug }) => {
29-
return { slug }
30-
})
32+
const params = []
33+
for (const locale of routing.locales) {
34+
for (const { slug } of pages.docs) {
35+
params.push({ slug, locale })
36+
}
37+
}
3138

3239
return params
3340
}
3441

3542
type Args = {
3643
params: Promise<{
3744
slug?: string
45+
locale: Locale
3846
}>
3947
}
4048

4149
export default async function Page({ params: paramsPromise }: Args) {
4250
const { isEnabled: draft } = await draftMode()
43-
const { slug = 'home' } = await paramsPromise
51+
const { slug = 'home', locale } = await paramsPromise
52+
53+
// Enable static rendering
54+
setRequestLocale(locale)
55+
4456
// Decode to support slugs with special characters
4557
const decodedSlug = decodeURIComponent(slug)
4658
const url = '/' + decodedSlug
@@ -71,7 +83,8 @@ export default async function Page({ params: paramsPromise }: Args) {
7183
}
7284

7385
export async function generateMetadata({ params: paramsPromise }: Args): Promise<Metadata> {
74-
const { slug = 'home' } = await paramsPromise
86+
const { slug = 'home', locale } = await paramsPromise
87+
setRequestLocale(locale)
7588
// Decode to support slugs with special characters
7689
const decodedSlug = decodeURIComponent(slug)
7790
const page = await queryPageBySlug({

src/app/(frontend)/[locale]/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ export default async function Page({ params: paramsPromise }: Args) {
8383
}
8484

8585
export async function generateMetadata({ params: paramsPromise }: Args): Promise<Metadata> {
86-
const { slug = 'home' } = await paramsPromise
86+
const { slug = 'home', locale } = await paramsPromise
87+
setRequestLocale(locale)
8788
// Decode to support slugs with special characters
8889
const decodedSlug = decodeURIComponent(slug)
8990
const page = await queryPageBySlug({

src/app/(frontend)/[locale]/posts/[slug]/page.tsx

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import { generateMeta } from '@/utilities/generateMeta'
1515
import PageClient from './page.client'
1616
import { LivePreviewListener } from '@/components/LivePreviewListener'
1717

18-
import { getTranslations } from 'next-intl/server'
18+
import { Locale } from '@/i18n/types'
19+
import { routing } from '@/i18n/routing'
20+
import { setRequestLocale, getTranslations } from 'next-intl/server'
1921

2022
export async function generateStaticParams() {
2123
const payload = await getPayload({ config: configPromise })
@@ -30,22 +32,30 @@ export async function generateStaticParams() {
3032
},
3133
})
3234

33-
const params = posts.docs.map(({ slug }) => {
34-
return { slug }
35-
})
35+
const params = []
36+
for (const locale of routing.locales) {
37+
for (const { slug } of posts.docs) {
38+
params.push({ slug, locale })
39+
}
40+
}
3641

3742
return params
3843
}
3944

4045
type Args = {
4146
params: Promise<{
4247
slug?: string
48+
locale: Locale
4349
}>
4450
}
4551

4652
export default async function Post({ params: paramsPromise }: Args) {
4753
const { isEnabled: draft } = await draftMode()
48-
const { slug = '' } = await paramsPromise
54+
const { slug = '', locale } = await paramsPromise
55+
56+
// Enable static rendering
57+
setRequestLocale(locale)
58+
4959
// Decode to support slugs with special characters
5060
const decodedSlug = decodeURIComponent(slug)
5161
const url = '/posts/' + decodedSlug
@@ -94,7 +104,8 @@ export default async function Post({ params: paramsPromise }: Args) {
94104
}
95105

96106
export async function generateMetadata({ params: paramsPromise }: Args): Promise<Metadata> {
97-
const { slug = '' } = await paramsPromise
107+
const { slug = '', locale } = await paramsPromise
108+
setRequestLocale(locale)
98109
// Decode to support slugs with special characters
99110
const decodedSlug = decodeURIComponent(slug)
100111
const post = await queryPostBySlug({ slug: decodedSlug })

src/app/(frontend)/[locale]/posts/page.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ import { Locale } from '@/i18n/types'
1212
import { routing } from '@/i18n/routing'
1313
import { setRequestLocale } from 'next-intl/server'
1414

15-
export async function generateStaticParams() {
16-
return routing.locales.map((locale) => ({ locale }))
17-
}
15+
export const revalidate = 600
1816

1917
export default async function Page({ params }: { params: Promise<{ locale: Locale }> }) {
2018
const { locale } = await params

src/app/(frontend)/[locale]/posts/page/[pageNumber]/page.tsx

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,26 @@ import React from 'react'
99
import PageClient from './page.client'
1010
import { notFound } from 'next/navigation'
1111

12+
import { Locale } from '@/i18n/types'
13+
import { routing } from '@/i18n/routing'
14+
import { setRequestLocale } from 'next-intl/server'
15+
1216
export const revalidate = 600
1317

1418
type Args = {
1519
params: Promise<{
1620
pageNumber: string
21+
locale: Locale
1722
}>
1823
}
1924

2025
export default async function Page({ params: paramsPromise }: Args) {
21-
const { pageNumber } = await paramsPromise
26+
const { pageNumber, locale } = await paramsPromise
2227
const payload = await getPayload({ config: configPromise })
2328

29+
// Enable static rendering
30+
setRequestLocale(locale)
31+
2432
const sanitizedPageNumber = Number(pageNumber)
2533

2634
if (!Number.isInteger(sanitizedPageNumber)) notFound()
@@ -63,7 +71,8 @@ export default async function Page({ params: paramsPromise }: Args) {
6371
}
6472

6573
export async function generateMetadata({ params: paramsPromise }: Args): Promise<Metadata> {
66-
const { pageNumber } = await paramsPromise
74+
const { pageNumber, locale } = await paramsPromise
75+
setRequestLocale(locale)
6776
return {
6877
title: `Posts Page ${pageNumber || ''}`,
6978
}
@@ -78,11 +87,14 @@ export async function generateStaticParams() {
7887

7988
const totalPages = Math.ceil(totalDocs / 10)
8089

81-
const pages: { pageNumber: string }[] = []
82-
83-
for (let i = 1; i <= totalPages; i++) {
84-
pages.push({ pageNumber: String(i) })
85-
}
86-
87-
return pages
90+
return routing.locales.flatMap((locale) => {
91+
const pages = []
92+
for (let i = 1; i <= totalPages; i++) {
93+
pages.push({
94+
locale,
95+
pageNumber: String(i),
96+
})
97+
}
98+
return pages
99+
})
88100
}

src/app/(frontend)/[locale]/search/page.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,25 @@ import { Search } from '@/search/Component'
88
import PageClient from './page.client'
99
import { CardPostData } from '@/components/Card'
1010

11+
import { Locale } from '@/i18n/types'
12+
import { setRequestLocale } from 'next-intl/server'
13+
1114
type Args = {
1215
searchParams: Promise<{
1316
q: string
1417
}>
18+
params: {
19+
locale: Locale
20+
}
1521
}
16-
export default async function Page({ searchParams: searchParamsPromise }: Args) {
22+
23+
export default async function Page({
24+
searchParams: searchParamsPromise,
25+
params: { locale },
26+
}: Args) {
27+
// Enable static rendering
28+
setRequestLocale(locale)
29+
1730
const { q: query } = await searchParamsPromise
1831
const payload = await getPayload({ config: configPromise })
1932

@@ -65,7 +78,6 @@ export default async function Page({ searchParams: searchParamsPromise }: Args)
6578
<div className="container mb-16">
6679
<div className="prose dark:prose-invert max-w-none text-center">
6780
<h1 className="mb-8 lg:mb-16">Search</h1>
68-
6981
<div className="max-w-[50rem] mx-auto">
7082
<Search />
7183
</div>

0 commit comments

Comments
 (0)