From 5b7ccf0b671e2999b62befc729a3e517a0433728 Mon Sep 17 00:00:00 2001
From: Bertrand Yuan <bert.yuan@outlook.com>
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/app/(home)/page.tsx | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 src/app/(home)/page.tsx

(limited to 'src/app/(home)/page.tsx')

diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx
new file mode 100644
index 0000000..da7da0f
--- /dev/null
+++ b/src/app/(home)/page.tsx
@@ -0,0 +1,29 @@
+import Hero from '@/app/(home)/_components/hero';
+import Posts from '@/app/(home)/_components/posts';
+import { Icons } from '@/components/icons/icons';
+import { Section } from '@/components/section';
+import Separator from '@/components/separator';
+import { getSortedByDatePosts } from '@/lib/source';
+import { CTA } from './_components/call-to-action';
+
+export default function Home() {
+  const posts = getSortedByDatePosts().slice(0, 3);
+
+  return (
+    <>
+      <Hero />
+      <Section className='py-8 sm:py-16'>
+        <h2 className='text-center font-semibold text-2xl sm:text-3xl md:text-4xl lg:text-5xl'>
+          <span className='inline-flex items-center gap-3'>
+            Posts{' '}
+            <Icons.posts className='size-10 fill-fd-primary/30 text-fd-primary transition-transform hover:rotate-12 hover:scale-125' />
+          </span>
+        </h2>
+      </Section>
+      <Separator />
+      <Posts posts={posts} />
+      <Separator />
+      <CTA />
+    </>
+  );
+}
-- 
cgit v1.2.3

