From 5b7ccf0b671e2999b62befc729a3e517a0433728 Mon Sep 17 00:00:00 2001 From: Bertrand Yuan Date: Mon, 15 Dec 2025 23:48:10 +0800 Subject: initial commit -- the front-end prototype The initial code is base on Anirudh's work. More to see at: https://github.com/techwithanirudh/shadcn-blog Therefore, the code in this commit is under MIT license. --- src/components/posts/post-card.tsx | 76 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/components/posts/post-card.tsx (limited to 'src/components/posts') diff --git a/src/components/posts/post-card.tsx b/src/components/posts/post-card.tsx new file mode 100644 index 0000000..9544aea --- /dev/null +++ b/src/components/posts/post-card.tsx @@ -0,0 +1,76 @@ +import { BlurImage } from '@/components/blur-image'; +import { CalendarIcon, UserIcon } from 'lucide-react'; +import Link from 'next/link'; +import type React from 'react'; +import Balancer from 'react-wrap-balancer'; + +interface PostCardProps { + title: string; + description: string; + image?: string | null; + url: string; + date: string; + author: string; + tags?: string[]; +} + +export const PostCard: React.FC = ({ + title, + description, + image, + url, + date, + author, + tags, +}) => { + return ( + +
+
+

+ {title} +

+

+ {description} +

+
+
+ {/*
+ {tags?.map((tag) => ( + <> + + {index < tags.length - 1 && } + + ))} +
*/} +
+ + + {author} + + + + + {date} + +
+
+
+ + {image && ( +
+ +
+ )} + + ); +}; -- cgit v1.2.3