Index: backend/controllers/forumController.js
===================================================================
--- backend/controllers/forumController.js	(revision f979cf1db2dceaaac6d70f3d8522d698d5be1f4e)
+++ backend/controllers/forumController.js	(revision 5aad212e3841deb8dc83be010da5f3e04a8a8401)
@@ -166,11 +166,11 @@
     const take = parseInt(limit);
 
-    const generalPosts = await prisma.forum_posts.findMany({
-      where: {
-        topic: "general",
-      },
-      take: Math.ceil(take / 2),
-      skip: Math.floor(skip / 2),
-      orderBy: [{ date_created: "desc" }],
+    // Fetch all posts regardless of topic
+    const allPosts = await prisma.forum_posts.findMany({
+      skip: skip,
+      take: take,
+      orderBy: {
+        date_created: "desc"
+      },
       include: {
         challenges: {
@@ -182,33 +182,9 @@
       },
     });
-
-    const challengePosts = await prisma.forum_posts.findMany({
-      where: {
-        topic: "daily-challenge",
-      },
-      take: Math.ceil(take / 2),
-      skip: Math.floor(skip / 2),
-      orderBy: [{ date_created: "desc" }],
-      include: {
-        challenges: {
-          select: {
-            id: true,
-            title: true,
-          },
-        },
-      },
-    });
     
-    const forumPosts = [
-      ...generalPosts.map((post) => ({
-        ...post,
-        topic: "general",
-      })),
-      ...challengePosts.map((post) => ({
-        ...post,
-        topic: "daily-challenge",
-        challengeTitle: post.challenges?.title || null,
-      })),
-    ];
+    const forumPosts = allPosts.map((post) => ({
+      ...post,
+      challengeTitle: post.challenges?.title || null,
+    }));
 
     res.status(200).json(forumPosts);
Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision f979cf1db2dceaaac6d70f3d8522d698d5be1f4e)
+++ client/src/Dashboard/components/Forum.jsx	(revision 5aad212e3841deb8dc83be010da5f3e04a8a8401)
@@ -11,4 +11,7 @@
   const [posts, setPosts] = useState([]);
   const [loading, setLoading] = useState(true);
+  const [loadingMore, setLoadingMore] = useState(false);
+  const [page, setPage] = useState(0);
+  const [hasMore, setHasMore] = useState(true);
   const [modal, setModal] = useState({
     isOpen: false,
@@ -42,16 +45,36 @@
   }, []);
 
-  const fetchPosts = async () => {
+  const fetchPosts = async (pageNum = 0, append = false) => {
     try {
-      setLoading(true);
-      const data = await getForumPosts(0, postsPerPage);
+      if (!append) {
+        setLoading(true);
+      } else {
+        setLoadingMore(true);
+      }
+
+      const data = await getForumPosts(pageNum, postsPerPage);
       console.log("Fetched forum posts:", data);
       console.log("Total posts fetched:", data.length);
-      setPosts(data);
+
+      if (append) {
+        setPosts((prevPosts) => [...prevPosts, ...data]);
+      } else {
+        setPosts(data);
+      }
+
+      // Check if there are more posts to load
+      setHasMore(data.length === postsPerPage);
+      setPage(pageNum);
     } catch (error) {
       console.error("Error fetching forum posts:", error);
     } finally {
       setLoading(false);
+      setLoadingMore(false);
     }
+  };
+
+  const loadMore = async () => {
+    const nextPage = page + 1;
+    await fetchPosts(nextPage, true);
   };
 
@@ -111,5 +134,5 @@
               <div className=" overflow-y-auto">
                 <div className="p-4 sm:p-6 sm:pl-12 w-full">
-                  <div className="grid grid-cols-1 md:grid-cols-2   lg:grid-cols-3 xl:grid-cols-3 2xl:grid-cols-4 gap-4 sm:gap-6">
+                  <div className="grid grid-cols-1 md:grid-cols-2   lg:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 gap-4 sm:gap-6">
                     {posts.map((post) => (
                       <div
@@ -222,4 +245,24 @@
                     ))}
                   </div>
+
+                  {/* Load More Button */}
+                  {hasMore && (
+                    <div className="flex justify-center mt-6 sm:mt-8">
+                      <button
+                        onClick={loadMore}
+                        disabled={loadingMore}
+                        className="btn btn-tertiary"
+                      >
+                        {loadingMore ? (
+                          <>
+                            <span className="loading loading-spinner loading-sm mr-2"></span>
+                            Loading...
+                          </>
+                        ) : (
+                          "Load More"
+                        )}
+                      </button>
+                    </div>
+                  )}
                 </div>
               </div>
