diff options
Diffstat (limited to 'src/app/(main)/(home)/_components/posts.tsx')
| -rw-r--r-- | src/app/(main)/(home)/_components/posts.tsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/app/(main)/(home)/_components/posts.tsx b/src/app/(main)/(home)/_components/posts.tsx new file mode 100644 index 0000000..0eacce1 --- /dev/null +++ b/src/app/(main)/(home)/_components/posts.tsx @@ -0,0 +1,41 @@ +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 { BlogPost } from '@/lib/payload-posts'; +import Link from 'next/link'; + +interface PostsProps { + posts: BlogPost[]; +} + +export default function Posts({ posts }: PostsProps) { + return ( + <Section> + <div className='grid divide-y divide-dashed divide-border/70 text-left dark:divide-border'> + {posts.map((post) => ( + <PostCard + title={post.title} + description={post.description} + image={post.image} + url={post.url} + date={post.date.toDateString()} + key={post.id} + author={post.author} + tags={post.tags} + /> + ))} + <Link + href='/posts' + className={buttonVariants({ + variant: 'default', + className: 'group rounded-none py-4 sm:py-8', + })} + > + View More + <Icons.arrowUpRight className='group-hover:-rotate-12 ml-2 size-5 transition-transform' /> + </Link> + </div> + </Section> + ); +} |
