Index: backend/controllers/forumController.js
===================================================================
--- backend/controllers/forumController.js	(revision 6b760839e27df876995660fdee50c2bff935d166)
+++ backend/controllers/forumController.js	(revision f979cf1db2dceaaac6d70f3d8522d698d5be1f4e)
@@ -162,16 +162,15 @@
 const getForumPosts = async (req, res) => {
   try {
-    const fiveDaysAgo = new Date();
-    fiveDaysAgo.setDate(fiveDaysAgo.getDate() - 5);
+    const { page = 0, limit = 20 } = req.query;
+    const skip = parseInt(page) * parseInt(limit);
+    const take = parseInt(limit);
 
     const generalPosts = await prisma.forum_posts.findMany({
       where: {
         topic: "general",
-        date_created: {
-          gte: fiveDaysAgo,
-        },
-      },
-      take: 5,
-      orderBy: [{ comment_count: "desc" }, { date_created: "desc" }],
+      },
+      take: Math.ceil(take / 2),
+      skip: Math.floor(skip / 2),
+      orderBy: [{ date_created: "desc" }],
       include: {
         challenges: {
@@ -187,10 +186,8 @@
       where: {
         topic: "daily-challenge",
-        date_created: {
-          gte: fiveDaysAgo,
-        },
-      },
-      take: 5,
-      orderBy: [{ comment_count: "desc" }, { date_created: "desc" }],
+      },
+      take: Math.ceil(take / 2),
+      skip: Math.floor(skip / 2),
+      orderBy: [{ date_created: "desc" }],
       include: {
         challenges: {
@@ -202,4 +199,5 @@
       },
     });
+    
     const forumPosts = [
       ...generalPosts.map((post) => ({
@@ -210,5 +208,5 @@
         ...post,
         topic: "daily-challenge",
-        challengeTitle: post.challenges.title,
+        challengeTitle: post.challenges?.title || null,
       })),
     ];
Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision 6b760839e27df876995660fdee50c2bff935d166)
+++ client/src/Dashboard/components/Forum.jsx	(revision f979cf1db2dceaaac6d70f3d8522d698d5be1f4e)
@@ -10,8 +10,5 @@
   const navigate = useNavigate();
   const [posts, setPosts] = useState([]);
-  const [page, setPage] = useState(0);
-  const [hasMore, setHasMore] = useState(true);
   const [loading, setLoading] = useState(true);
-  const [loadingMore, setLoadingMore] = useState(false);
   const [modal, setModal] = useState({
     isOpen: false,
@@ -21,5 +18,5 @@
   });
   const [isDeleting, setIsDeleting] = useState(false);
-  const postsPerPage = 5;
+  const postsPerPage = 20;
   const { user } = useAuth();
   console.log(user);
@@ -43,30 +40,17 @@
   useEffect(() => {
     fetchPosts();
-  }, [page]);
+  }, []);
 
   const fetchPosts = async () => {
     try {
-      if (page === 0) {
-        setLoading(true);
-      } else {
-        setLoadingMore(true);
-      }
-
-      const data = await getForumPosts(page, postsPerPage);
-      console.log(data);
-
-      if (page === 0) {
-        setPosts(data);
-      } else {
-        setPosts((prevPosts) => [...prevPosts, ...data]);
-      }
-      if (data.length < postsPerPage) {
-        setHasMore(false);
-      }
+      setLoading(true);
+      const data = await getForumPosts(0, postsPerPage);
+      console.log("Fetched forum posts:", data);
+      console.log("Total posts fetched:", data.length);
+      setPosts(data);
     } catch (error) {
       console.error("Error fetching forum posts:", error);
     } finally {
       setLoading(false);
-      setLoadingMore(false);
     }
   };
@@ -76,15 +60,9 @@
       await deleteForumPost(postId);
 
-      setLoading(true);
-      const data = await getForumPosts(0, postsPerPage);
-      setPosts(data);
-      setPage(0);
-      setHasMore(data.length >= postsPerPage);
+      // Refresh the posts after deletion
+      await fetchPosts();
       showModal("Post deleted successfully.", "success");
-      setLoading(false);
     } catch (error) {
       console.error("Error deleting post:", error);
-
-      setLoading(false);
     }
   };
@@ -130,314 +108,117 @@
           ) : (
             <div className="h-full">
-              {/* Sticky Column Headers */}
-              <div className="sticky top-0 z-10 bg-base-100  border-base-300 shadow-sm">
-                <div className="p-4 sm:p-6 sm:pl-12 w-full">
-                  <div className="grid grid-cols-1 xl:grid-cols-2 gap-6 sm:gap-8">
-                    {/* General Programming Header */}
-                    <div
-                      className="cursor-pointer  group border rounded-lg"
-                      onClick={() => navigate("/dashboard/forum/general")}
-                    >
-                      <div className="flex items-center gap-3 p-3 sm:p-4 bg-base-200 rounded-lg hover:bg-base-300 transition-colors">
-                        <div className="flex-1 ">
-                          <h2 className="text-lg sm:text-xl lg:text-2xl font-bold transition-colors mb-2 ">
-                            General Programming Discussions
-                          </h2>
-                          <p className="text-sm text-gray-500">
-                            Click to view all discussions on "General
-                            Programming"
-                          </p>
-                        </div>
-                        <svg
-                          xmlns="http://www.w3.org/2000/svg"
-                          className="w-5 h-5 text-gray-400 group-hover:text-yellow-400 transition-colors"
-                          fill="none"
-                          viewBox="0 0 24 24"
-                          stroke="currentColor"
-                        >
-                          <path
-                            strokeLinecap="round"
-                            strokeLinejoin="round"
-                            strokeWidth="2"
-                            d="M9 5l7 7-7 7"
-                          />
-                        </svg>
-                      </div>
-                    </div>
-
-                    {/* Daily Challenge Header */}
-                    <div
-                      className="cursor-pointer group border rounded-lg"
-                      onClick={() =>
-                        navigate("/dashboard/forum/daily-challenge")
-                      }
-                    >
-                      <div className="flex items-center gap-3 p-3 sm:p-4 bg-base-200 rounded-lg hover:bg-base-300 transition-colors">
-                        <div className="flex-1">
-                          <h2 className="text-lg sm:text-xl lg:text-2xl font-bold transition-colors mb-2">
-                            Daily Challenge Discussions
-                          </h2>
-                          <p className="text-sm text-gray-500">
-                            Click to view all discussions on "Daily Challenge"
-                          </p>
-                        </div>
-                        <svg
-                          xmlns="http://www.w3.org/2000/svg"
-                          className="w-5 h-5 text-gray-400 group-hover:text-yellow-400 transition-colors"
-                          fill="none"
-                          viewBox="0 0 24 24"
-                          stroke="currentColor"
-                        >
-                          <path
-                            strokeLinecap="round"
-                            strokeLinejoin="round"
-                            strokeWidth="2"
-                            d="M9 5l7 7-7 7"
-                          />
-                        </svg>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-
               {/* Scrollable Posts Content */}
               <div className=" overflow-y-auto">
                 <div className="p-4 sm:p-6 sm:pl-12 w-full">
-                  <div className="grid grid-cols-1 xl:grid-cols-2 gap-6 sm:gap-8 items-start">
-                    {/* General Programming Column */}
-                    <div className="flex flex-col ">
-                      <div className="grid grid-cols-1 gap-4 sm:gap-6">
-                        {posts
-                          .filter((post) => post.topic === "general")
-                          .map((post) => (
-                            <div
-                              key={post.id}
-                              className="p-3 sm:p-4 lg:p-6  rounded-lg shadow-sm hover:shadow-md transition relative bg-base-200 h-full flex flex-col"
-                            >
-                              {(post.author_name === user.name ||
-                                post.author_name === user.username ||
-                                user.isModerator) && (
-                                <button
-                                  className="absolute top-2 right-2 p-1.5 cursor-pointer rounded-full hover:bg-gray-600 transition-colors"
-                                  onClick={(e) => {
-                                    e.stopPropagation();
-                                    showModal(
-                                      "Are you sure you want to delete this post? This action cannot be undone.",
-                                      "confirm",
-                                      post.id
-                                    );
-                                  }}
-                                >
-                                  <img
-                                    src={trashIcon}
-                                    alt="Delete"
-                                    className="w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6"
-                                  />
-                                </button>
+                  <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">
+                    {posts.map((post) => (
+                      <div
+                        key={post.id}
+                        className="p-3 sm:p-4 lg:p-6 rounded-lg shadow-sm hover:shadow-md transition relative bg-base-200 h-full flex flex-col"
+                      >
+                        {(post.author_name === user.name ||
+                          post.author_name === user.username ||
+                          user.isModerator) && (
+                          <button
+                            className="absolute top-2 right-2 p-1.5 cursor-pointer rounded-full hover:bg-gray-600 transition-colors"
+                            onClick={(e) => {
+                              e.stopPropagation();
+                              showModal(
+                                "Are you sure you want to delete this post? This action cannot be undone.",
+                                "confirm",
+                                post.id
+                              );
+                            }}
+                          >
+                            <img
+                              src={trashIcon}
+                              alt="Delete"
+                              className="w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6"
+                            />
+                          </button>
+                        )}
+
+                        <div className="flex items-center gap-2 sm:gap-4 mt-2 pr-8 sm:pr-10">
+                          <h3
+                            className="text-lg sm:text-xl lg:text-2xl font-semibold mb-2 cursor-pointer hover:underline line-clamp-2 text-center sm:text-left w-full"
+                            onClick={() => {
+                              navigate(`/dashboard/forum-detail/${post.id}`, {
+                                state: { post },
+                              });
+                            }}
+                          >
+                            {post.title}
+                          </h3>
+                        </div>
+
+                        <div className="flex flex-wrap items-center gap-2 mb-2">
+                          <p className="text-xs sm:text-sm text-gray-500 flex flex-col sm:flex-row items-center sm:justify-start gap-0 sm:gap-2">
+                            <span>
+                              By{" "}
+                              <span className="font-semibold underline">
+                                {post.author_name}
+                              </span>
+                            </span>
+                            <span className="hidden sm:inline mx-1 text-gray-400">
+                              •
+                            </span>
+                            <span className="italic text-gray-400">
+                              {new Date(post.date_created).toLocaleDateString(
+                                "en-US",
+                                {
+                                  year: "numeric",
+                                  month: "short",
+                                  day: "numeric",
+                                }
                               )}
-
-                              <div className="flex items-center gap-2 sm:gap-4 mt-2 pr-8 sm:pr-10">
-                                <h3
-                                  className="text-lg sm:text-xl lg:text-2xl font-semibold mb-2 cursor-pointer hover:underline line-clamp-2 text-center sm:text-left w-full"
-                                  onClick={() => {
-                                    navigate(
-                                      `/dashboard/forum-detail/${post.id}`,
-                                      {
-                                        state: { post },
-                                      }
-                                    );
-                                  }}
-                                >
-                                  {post.title}
-                                </h3>
-                              </div>
-
-                              <p className="text-xs sm:text-sm text-gray-500 mb-2 flex flex-col sm:flex-row items-center sm:justify-start gap-0 sm:gap-2">
-                                <span>
-                                  By{" "}
-                                  <span className="font-semibold underline">
-                                    {post.author_name}
-                                  </span>
-                                </span>
-                                <span className="hidden sm:inline mx-1 text-gray-400">
-                                  •
-                                </span>
-                                <span className="italic text-gray-400">
-                                  {new Date(
-                                    post.date_created
-                                  ).toLocaleDateString("en-US", {
-                                    year: "numeric",
-                                    month: "short",
-                                    day: "numeric",
-                                  })}
-                                </span>
-                              </p>
-                              <p className="mt-2 text-gray-400 text-sm sm:text-base line-clamp-3 text-center sm:text-left flex-grow">
-                                {post.content && post.content.length > 100
-                                  ? post.content.slice(0, 70) + "..."
-                                  : post.content}
-                              </p>
-                              <div
-                                className="mt-3 sm:mt-4 flex justify-center sm:justify-end items-center gap-2 cursor-pointer"
-                                onClick={(e) => {
-                                  navigate(
-                                    `/dashboard/forum-detail/${post.id}`,
-                                    {
-                                      state: { post },
-                                    }
-                                  );
-                                }}
-                              >
-                                <p className="text-sm sm:text-base">
-                                  {post.comment_count}
-                                </p>
-                                <img
-                                  src={commentIcon}
-                                  alt="Comment"
-                                  className="w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 hover:opacity-80"
-                                />
-                              </div>
-                            </div>
-                          ))}
+                            </span>
+                          </p>
+
+                          {/* Topic Badge */}
+                          <span
+                            className={`inline-block text-xs font-semibold px-2 py-1 rounded ${
+                              post.topic === "general"
+                                ? "bg-blue-100 text-blue-800"
+                                : "bg-green-100 text-green-800"
+                            }`}
+                          >
+                            {post.topic === "general"
+                              ? "General"
+                              : "Daily Challenge"}
+                          </span>
+
+                          {/* Challenge Title Badge */}
+                          {post.challengeTitle && (
+                            <span className="inline-block bg-yellow-100 text-yellow-800 text-xs font-semibold px-2 py-1 rounded">
+                              {post.challengeTitle}
+                            </span>
+                          )}
+                        </div>
+
+                        <p className="mt-2 text-gray-400 text-sm sm:text-base line-clamp-3 text-center sm:text-left flex-grow">
+                          {post.content && post.content.length > 100
+                            ? post.content.slice(0, 100) + "..."
+                            : post.content}
+                        </p>
+
+                        <div
+                          className="mt-3 sm:mt-4 flex justify-center sm:justify-end items-center gap-2 cursor-pointer"
+                          onClick={(e) => {
+                            navigate(`/dashboard/forum-detail/${post.id}`, {
+                              state: { post },
+                            });
+                          }}
+                        >
+                          <p className="text-sm sm:text-base">
+                            {post.comment_count}
+                          </p>
+                          <img
+                            src={commentIcon}
+                            alt="Comment"
+                            className="w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 hover:opacity-80"
+                          />
+                        </div>
                       </div>
-
-                      {posts.filter((post) => post.topic === "general").length >
-                        6 && (
-                        <div className="flex justify-center mt-4 sm:mt-6">
-                          <button
-                            onClick={() => navigate("/dashboard/forum/general")}
-                            className="btn btn-outline"
-                          >
-                            View All General Posts
-                          </button>
-                        </div>
-                      )}
-                    </div>
-
-                    {/* Daily Challenge Column */}
-                    <div className="flex flex-col ">
-                      <div className="grid grid-cols-1 gap-4 sm:gap-6 ">
-                        {posts
-                          .filter((post) => post.topic === "daily-challenge")
-                          .map((post) => (
-                            <div
-                              key={post.id}
-                              className="p-3 sm:p-4 lg:p-6 rounded-lg shadow-sm hover:shadow-md transition relative bg-base-200 h-full flex flex-col"
-                            >
-                              {(post.author_name === user.name ||
-                                post.author_name === user.username ||
-                                user.isModerator) && (
-                                <button
-                                  className="absolute top-2 right-2 p-1.5 cursor-pointer rounded-full hover:bg-gray-600 transition-colors"
-                                  onClick={(e) => {
-                                    e.stopPropagation();
-                                    showModal(
-                                      "Are you sure you want to delete this post? This action cannot be undone.",
-                                      "confirm",
-                                      post.id
-                                    );
-                                  }}
-                                >
-                                  <img
-                                    src={trashIcon}
-                                    alt="Delete"
-                                    className="w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6"
-                                  />
-                                </button>
-                              )}
-
-                              <div className="flex items-center gap-2 sm:gap-4 mt-2 pr-8 sm:pr-10">
-                                <h3
-                                  className="text-lg sm:text-xl lg:text-2xl font-semibold mb-2 cursor-pointer hover:underline line-clamp-2 text-center sm:text-left w-full"
-                                  onClick={() => {
-                                    navigate(
-                                      `/dashboard/forum-detail/${post.id}`,
-                                      {
-                                        state: { post },
-                                      }
-                                    );
-                                  }}
-                                >
-                                  {post.title}
-                                </h3>
-                              </div>
-
-                              {/* Challenge Title Badge */}
-
-                              <p className="text-xs sm:text-sm text-gray-500 mb-2 flex flex-col sm:flex-row items-center sm:justify-start gap-0 sm:gap-2">
-                                <span>
-                                  By{" "}
-                                  <span className="font-semibold underline">
-                                    {post.author_name}
-                                  </span>
-                                </span>
-                                <span className="hidden sm:inline mx-1 text-gray-400">
-                                  •
-                                </span>
-                                <span className="italic text-gray-400">
-                                  {new Date(
-                                    post.date_created
-                                  ).toLocaleDateString("en-US", {
-                                    year: "numeric",
-                                    month: "short",
-                                    day: "numeric",
-                                  })}
-                                </span>{" "}
-                                {/* Left: Challenge Title Badge */}
-                                {post.challengeTitle ? (
-                                  <span className="inline-block bg-yellow-100 text-yellow-800 text-xs font-semibold px-1 py-1 rounded">
-                                    {post.challengeTitle}
-                                  </span>
-                                ) : (
-                                  <span /> // keeps spacing if no badge
-                                )}
-                              </p>
-                              <p className="mt-2 text-gray-400 text-sm sm:text-base line-clamp-3 text-center sm:text-left flex-grow">
-                                {post.content && post.content.length > 100
-                                  ? post.content.slice(0, 100) + "..."
-                                  : post.content}
-                              </p>
-                              <div className="mt-3 sm:mt-4 flex items-center justify-end gap-4">
-                                {/* Right: Comment Count and Icon */}
-                                <div
-                                  className="flex items-center gap-2 cursor-pointer"
-                                  onClick={(e) => {
-                                    navigate(
-                                      `/dashboard/forum-detail/${post.id}`,
-                                      {
-                                        state: { post },
-                                      }
-                                    );
-                                  }}
-                                >
-                                  <p className="text-sm sm:text-base">
-                                    {post.comment_count}
-                                  </p>
-                                  <img
-                                    src={commentIcon}
-                                    alt="Comment"
-                                    className="w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 hover:opacity-80"
-                                  />
-                                </div>
-                              </div>
-                            </div>
-                          ))}
-                      </div>
-
-                      {posts.filter((post) => post.topic === "daily-challenge")
-                        .length > 6 && (
-                        <div className="flex justify-center mt-4 sm:mt-6">
-                          <button
-                            onClick={() =>
-                              navigate("/dashboard/forum/daily-challenge")
-                            }
-                            className="btn btn-outline"
-                          >
-                            View All Challenge Posts
-                          </button>
-                        </div>
-                      )}
-                    </div>
+                    ))}
                   </div>
                 </div>
