From a5e4155a752fa090c7bc3751a803b4359453e56c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 25 Apr 2026 12:30:41 +0000
Subject: fix: frontend-backend connection bugs
Agent-Logs-Url: https://github.com/bertyuan/next-blog/sessions/f86da32b-3af7-4393-8077-ce3435137221
Co-authored-by: bertyuan <189593334+bertyuan@users.noreply.github.com>
---
src/app/(main)/(home)/posts/page.tsx | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
(limited to 'src/app/(main)/(home)/posts/page.tsx')
diff --git a/src/app/(main)/(home)/posts/page.tsx b/src/app/(main)/(home)/posts/page.tsx
index 40ebcda..daced35 100644
--- a/src/app/(main)/(home)/posts/page.tsx
+++ b/src/app/(main)/(home)/posts/page.tsx
@@ -58,12 +58,14 @@ export default async function Page(props: {
const pageIndex = searchParams.page
? Number.parseInt(
Array.isArray(searchParams.page)
- ? searchParams.page[0] ?? ''
+ ? (searchParams.page[0] ?? '')
: searchParams.page,
- 10
+ 10,
) - 1
: 0;
+ if (Number.isNaN(pageIndex)) notFound();
+
// 获取文章(带分页)
const { posts, totalDocs, totalPages } = await getPublishedPosts({
limit: postsPerPage,
@@ -106,7 +108,9 @@ export default async function Page(props: {
})}
- {totalPages > 1 && }
+ {totalPages > 1 && (
+
+ )}
>
);
}
@@ -118,12 +122,17 @@ type Props = {
export async function generateMetadata(
props: Props,
- parent: ResolvingMetadata
+ parent: ResolvingMetadata,
): Promise {
const searchParams = await props.searchParams;
const pageIndex = searchParams.page
- ? Number.parseInt(searchParams.page as string, 10)
+ ? Number.parseInt(
+ Array.isArray(searchParams.page)
+ ? (searchParams.page[0] ?? '')
+ : searchParams.page,
+ 10,
+ )
: 1;
const isFirstPage = pageIndex === 1 || !searchParams.page;
--
cgit v1.2.3