From 785371bb3eccca455e5ce5fccbe9b6e3752a03f6 Mon Sep 17 00:00:00 2001 From: Bertrand Yuan Date: Tue, 16 Dec 2025 00:15:04 +0800 Subject: fix(front-end): bug in viewing posts --- src/app/(main)/(home)/_components/posts.tsx | 58 +++-------------------------- 1 file changed, 5 insertions(+), 53 deletions(-) (limited to 'src/app/(main)/(home)/_components/posts.tsx') diff --git a/src/app/(main)/(home)/_components/posts.tsx b/src/app/(main)/(home)/_components/posts.tsx index 00ada0c..0eacce1 100644 --- a/src/app/(main)/(home)/_components/posts.tsx +++ b/src/app/(main)/(home)/_components/posts.tsx @@ -2,73 +2,25 @@ import { Icons } from '@/components/icons/icons'; import { PostCard } from '@/components/posts/post-card'; import { Section } from '@/components/section'; import { buttonVariants } from '@/components/ui/button'; -import type { Page } from '@/lib/source'; import type { BlogPost } from '@/lib/payload-posts'; import Link from 'next/link'; -// 统一的文章数据格式 -interface UnifiedPost { - title: string; - description: string; - image?: string | null; - url: string; - date: string; - author: string; - tags?: string[]; -} - -// 将 MDX Page 转换为统一格式 -function transformMdxPost(post: Page): UnifiedPost { - return { - title: post.data.title, - description: post.data.description ?? '', - image: post.data.image, - url: post.url, - date: new Date(post.data.date).toDateString(), - author: post.data.author, - tags: post.data.tags, - }; -} - -// 将 Payload BlogPost 转换为统一格式 -function transformPayloadPost(post: BlogPost): UnifiedPost { - return { - title: post.title, - description: post.description, - image: post.image, - url: post.url, - date: post.date.toDateString(), - author: post.author, - tags: post.tags, - }; -} - interface PostsProps { - mdxPosts?: Page[]; - payloadPosts?: BlogPost[]; + posts: BlogPost[]; } -export default function Posts({ mdxPosts = [], payloadPosts = [] }: PostsProps) { - // 转换并合并所有文章 - const allPosts: UnifiedPost[] = [ - ...mdxPosts.map(transformMdxPost), - ...payloadPosts.map(transformPayloadPost), - ]; - - // 按日期排序 - allPosts.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()); - +export default function Posts({ posts }: PostsProps) { return (
- {allPosts.map((post) => ( + {posts.map((post) => ( -- cgit v1.2.3