Index: backend/controllers/forumController.js
===================================================================
--- backend/controllers/forumController.js	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ backend/controllers/forumController.js	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -166,5 +166,6 @@
 const getForumPosts = async (req, res) => {
   try {
-    const page = parseInt(req.query.page) || 0;
+    console.log("Called");
+    const page = parseInt(req.query.page) - 1 || 0;
     const limit = parseInt(req.query.limit) || 20;
     const commentSort = req.query.commentSort;
Index: backend/controllers/reviewController.js
===================================================================
--- backend/controllers/reviewController.js	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ backend/controllers/reviewController.js	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -246,5 +246,5 @@
       authorName: postToApprove.author_name,
       authorId: postToApprove.author_id,
-      dateCreated: postToApprove.created_at,
+      dateCreated: new Date(),
       commentCount: postToApprove.comment_count || 0,
       topic: postToApprove.topic,
Index: client/src/App.jsx
===================================================================
--- client/src/App.jsx	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ client/src/App.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -15,4 +15,5 @@
 import ManageChallenges from "./Dashboard/components/ManageChallenges";
 import CreateNewChallenge from "./Dashboard/components/CreateNewChallenge";
+// import { ForumSearchParamsProvider } from "./contexts/ForumSearchParamsContext";
 
 import UserPosts from "./Dashboard/components/userPosts";
Index: client/src/Dashboard/DashboardLayout.jsx
===================================================================
--- client/src/Dashboard/DashboardLayout.jsx	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ client/src/Dashboard/DashboardLayout.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -1,4 +1,5 @@
-import React from "react";
-import { Outlet } from "react-router-dom";
+import React, { useState } from "react";
+
+import { Outlet, useSearchParams } from "react-router-dom";
 import Navbar from "./components/Navbar";
 
Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ client/src/Dashboard/components/Forum.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -1,4 +1,4 @@
-import React, { useState, useEffect } from "react";
-import { useNavigate } from "react-router-dom";
+import React, { useState, useEffect, useCallback } from "react";
+import { useNavigate, useSearchParams } from "react-router-dom";
 import commentIcon from "../../assets/images/comment.svg";
 import trashIcon from "../../assets/images/delete.svg"; // Add this import
@@ -9,4 +9,5 @@
 import "react-datepicker/dist/react-datepicker.css";
 import CalendarPopover from "./CalendarPopover";
+// import { useForumSearchParams } from "../../contexts/ForumSearchParamsContext";
 const Forum = () => {
   const navigate = useNavigate();
@@ -14,7 +15,8 @@
   const [loading, setLoading] = useState(true);
   const [loadingMore, setLoadingMore] = useState(false);
+  const [forumSearchParams, setForumSearchParams] = useSearchParams();
   const [isCalendarOpen, setIsCalendarOpen] = useState(false);
   const [totalPages, setTotalPages] = useState(1);
-  const [page, setPage] = useState(0);
+  const [page, setPage] = useState(1);
   const [hasMore, setHasMore] = useState(true);
   const [modal, setModal] = useState({
@@ -36,5 +38,13 @@
   };
 
-  const [filters, setFilters] = useState({ ...defaultFilters });
+  const [filters, setFilters] = useState(() => {
+    const initialFilters = { ...defaultFilters };
+    for (const [key, value] of forumSearchParams.entries()) {
+      if (key in initialFilters) {
+        initialFilters[key] = value;
+      }
+    }
+    return initialFilters;
+  });
   const [showFilters, setShowFilters] = useState(false);
 
@@ -56,98 +66,104 @@
 
   // Only fetch posts on component mount
+
+  const fetchPosts = useCallback(
+    async (pageNum = 0, append = false, activeFilters = null) => {
+      try {
+        if (!append) {
+          setLoading(true);
+        } else {
+          setLoadingMore(true);
+        }
+
+        const filtersToApply = activeFilters
+          ? { ...activeFilters }
+          : { ...filters };
+
+        Object.keys(filtersToApply).forEach((key) => {
+          if (filtersToApply[key] === undefined) {
+            filtersToApply[key] = null;
+          }
+        });
+
+        const response = await getForumPosts(
+          pageNum,
+          postsPerPage,
+          filtersToApply
+        );
+        const { forumPosts, totalCount } = response;
+        setTotalPages(Math.max(1, Math.ceil(totalCount / postsPerPage)));
+        setHasMore(pageNum < Math.ceil(totalCount / postsPerPage) - 1);
+
+        if (append) {
+          setPosts((prevPosts) => [...prevPosts, ...posts]);
+        } else {
+          setPosts(forumPosts);
+        }
+
+        setPage(pageNum);
+      } catch (error) {
+        console.error("Error fetching forum posts:", error);
+
+        if (error.response) {
+          console.error("Error response:", error.response);
+        }
+
+        if (!append) {
+          setPosts([]);
+        }
+      } finally {
+        setLoading(false);
+        setLoadingMore(false);
+      }
+    },
+    [postsPerPage]
+  );
   useEffect(() => {
-    fetchPosts(0, false, { ...defaultFilters });
-  }, []);
-
-  const fetchPosts = async (
-    pageNum = 0,
-    append = false,
-    activeFilters = null
-  ) => {
-    try {
-      if (!append) {
-        setLoading(true);
-      } else {
-        setLoadingMore(true);
+    const pageFromUrl = parseInt(forumSearchParams.get("page") || "1", 10);
+    const filtersFromUrl = { ...defaultFilters };
+    for (const [key, value] of forumSearchParams.entries()) {
+      if (key in filtersFromUrl) {
+        filtersFromUrl[key] = value;
       }
-
-      const filtersToApply = activeFilters
-        ? { ...activeFilters }
-        : { ...filters };
-
-      Object.keys(filtersToApply).forEach((key) => {
-        if (filtersToApply[key] === undefined) {
-          filtersToApply[key] = null;
-        }
-      });
-
-      const response = await getForumPosts(
-        pageNum,
-        postsPerPage,
-        filtersToApply
-      );
-      const { forumPosts, totalCount } = response;
-      setTotalPages(Math.max(1, Math.ceil(totalCount / postsPerPage)));
-      setHasMore(pageNum < Math.ceil(totalCount / postsPerPage) - 1);
-
-      if (append) {
-        setPosts((prevPosts) => [...prevPosts, ...posts]);
-      } else {
-        setPosts(forumPosts);
+    }
+
+    setFilters(filtersFromUrl);
+    fetchPosts(pageFromUrl, false, filtersFromUrl);
+  }, [forumSearchParams, fetchPosts]);
+
+  // Apply all selected filters
+  const applyFilters = () => {
+    const newSearchParams = new URLSearchParams();
+
+    for (const [key, value] of Object.entries(filters)) {
+      if (value && value !== defaultFilters[key]) {
+        newSearchParams.set(key, value);
       }
-
-      setPage(pageNum);
-    } catch (error) {
-      console.error("Error fetching forum posts:", error);
-
-      if (error.response) {
-        console.error("Error response:", error.response);
-      }
-
-      if (!append) {
-        setPosts([]);
-      }
-    } finally {
-      setLoading(false);
-      setLoadingMore(false);
     }
+    newSearchParams.set("page", "1");
+    setForumSearchParams(newSearchParams);
   };
-
-  // Apply all selected filters
-  const applyFilters = async () => {
-    // Make a copy of the current filters to ensure we're using the latest state
-    const currentFilters = { ...filters };
-
+  const handleRemoveFilter = (filterKeyToRemove) => {
+    const newSearchParams = new URLSearchParams(forumSearchParams);
+    const newFilters = {
+      ...filters,
+      [filterKeyToRemove]: defaultFilters[filterKeyToRemove],
+    };
+    newSearchParams.delete(filterKeyToRemove);
+    newSearchParams.set("page", "1");
+    setForumSearchParams(newSearchParams);
+    setFilters(newFilters);
+  };
+
+  const clearFilters = async () => {
     setLoading(true);
 
-    setPage(0);
-
-    setTimeout(async () => {
-      try {
-        console.log("Starting fetchPosts with filters:", currentFilters);
-        await fetchPosts(0, false, currentFilters);
-        console.log("Filters applied successfully");
-      } catch (err) {
-        console.error("Error applying filters:", err);
-      }
-    }, 100);
-  };
-
-  // Clear all filters and reset to default
-  const clearFilters = async () => {
-    // Show visual confirmation that filters are being cleared
-    setLoading(true);
-
-    // Update the filters state with a fresh copy of default filters
     const freshDefaultFilters = { ...defaultFilters };
     setFilters(freshDefaultFilters);
-
-    // Reset to page 0 and fetch with default filters after a small delay
-    setPage(0);
-
-    // Force a small delay to ensure state updates have propagated
-    setTimeout(async () => {
-      await fetchPosts(0, false, freshDefaultFilters);
-    }, 100);
+    setForumSearchParams({ page: "1" });
+
+    setPage(1);
+
+    await fetchPosts(1, false, freshDefaultFilters);
   };
 
@@ -156,10 +172,16 @@
       await deleteForumPost(postId);
 
-      // Refresh the posts after deletion with current filters
-      await fetchPosts(0, false, { ...filters });
+      await fetchPosts(1, false, { ...filters });
       showModal("Post deleted successfully.", "success");
     } catch (error) {
       console.error("Error deleting post:", error);
     }
+  };
+  const formatFilterLabel = (value) => {
+    if (!value) return "";
+    return value
+      .split("-")
+      .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
+      .join(" ");
   };
 
@@ -465,6 +487,5 @@
                   <div className="flex flex-wrap gap-1.5 sm:gap-2">
                     {filters.topic !== "all" && (
-                      <span className="badge badge-outline badge-sm flex items-center gap-1 px-2 py-1">
-                        <span className="text-xs">Topic:</span>
+                      <span className="badge badge-outline  flex items-center gap-1 px-2 py-1">
                         <span className="font-medium text-xs">
                           {filters.topic === "general"
@@ -475,9 +496,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = { ...filters, topic: "all" };
-                            setFilters(newFilters);
-                            fetchPosts(0, false, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("topic")}
                           aria-label="Remove topic filter"
                         >
@@ -487,6 +504,5 @@
                     )}
                     {filters.searchText && filters.searchText.trim() && (
-                      <span className="badge badge-outline badge-sm flex items-center gap-1 px-2 py-1 max-w-[200px]">
-                        <span className="text-xs">Search:</span>
+                      <span className="badge badge-outline  flex items-center gap-1 px-2 py-1 max-w-[200px]">
                         <span className="font-medium text-xs truncate">
                           "{filters.searchText.trim()}"
@@ -495,9 +511,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = { ...filters, searchText: "" };
-                            setFilters(newFilters);
-                            fetchPosts(0, false, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("searchText")}
                           aria-label="Remove search filter"
                         >
@@ -507,22 +519,12 @@
                     )}
                     {filters.dateSort !== "newest" && (
-                      <span className="badge badge-outline badge-sm flex items-center gap-1 px-2 py-1">
-                        <span className="text-xs">Sort:</span>
+                      <span className="badge badge-outline flex items-center gap-1 px-2 py-1">
                         <span className="font-medium text-xs">
-                          {filters.dateSort === "oldest"
-                            ? "Oldest First"
-                            : "Most Recent"}
+                          {formatFilterLabel(filters.dateSort)}
                         </span>
                         <button
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = {
-                              ...filters,
-                              dateSort: "newest",
-                            };
-                            setFilters(newFilters);
-                            fetchPosts(0, false, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("dateSort")}
                           aria-label="Remove sort filter"
                         >
@@ -532,6 +534,5 @@
                     )}
                     {filters.selectedDate && (
-                      <span className="badge badge-outline badge-sm flex items-center gap-1 px-2 py-1">
-                        <span className="text-xs">Date:</span>
+                      <span className="badge badge-outline  flex items-center gap-1 px-2 py-1">
                         <span className="font-medium text-xs">
                           {new Date(filters.selectedDate).toLocaleDateString(
@@ -547,12 +548,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = {
-                              ...filters,
-                              selectedDate: null,
-                            };
-                            setFilters(newFilters);
-                            fetchPosts(0, false, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("selectedDate")}
                           aria-label="Remove date filter"
                         >
@@ -562,5 +556,5 @@
                     )}
                     {filters.commentSort !== "none" && (
-                      <span className="badge badge-outline badge-sm flex items-center gap-1 px-2 py-1">
+                      <span className="badge badge-outline  flex items-center gap-1 px-2 py-1">
                         <span className="font-medium text-xs">
                           {filters.commentSort === "most-popular"
@@ -571,12 +565,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = {
-                              ...filters,
-                              commentSort: "none",
-                            };
-                            setFilters(newFilters);
-                            fetchPosts(0, false, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("commentSort")}
                           aria-label="Remove popularity filter"
                         >
@@ -646,16 +633,19 @@
                         )}
 
-                        <h3
-                          className="card-title text-base sm:text-lg lg:text-xl mb-2 text-base-content line-clamp-2 hover:underline cursor-pointer pr-8"
+                        <h1
+                          className="text-lg sm:text-xl lg:text-2xl font-bold mb-4 pr-16 sm:pr-20 cursor-pointer"
                           onClick={() => {
                             navigate(`/dashboard/forum-detail/${post.id}`, {
-                              state: { post },
+                              state: {
+                                post,
+                                fromForumSearch: forumSearchParams.toString(),
+                              },
                             });
                           }}
                         >
                           {post.title}
-                        </h3>
-
-                        <div className="flex flex-wrap items-center gap-1.5 sm:gap-2 mb-2">
+                        </h1>
+
+                        <div className="flex flex-wrap items-center gap-1 sm:gap-2 mb-0.5">
                           <span
                             className={`inline-block text-xs font-semibold px-1.5 py-0.5 rounded ${
@@ -675,27 +665,26 @@
                           )}
                         </div>
-                        <div className="flex flex-wrap items-center gap-1 sm:gap-2 mb-3">
-                          <p className="text-xs sm:text-sm text-base-content/70">
-                            By{" "}
-                            <span className="font-semibold">
-                              {post.author_name}
-                            </span>
-                            <span className="mx-1">·</span>
-                            <span className="italic">
-                              {new Date(post.date_created).toLocaleDateString(
-                                "en-US",
-                                {
-                                  year: "numeric",
-                                  month: "short",
-                                  day: "numeric",
-                                }
-                              )}
-                            </span>
-                          </p>
-                        </div>
-
-                        <p className="hidden sm:block text-sm text-base-content/80 line-clamp-3 flex-grow">
-                          {post.content && post.content.length > 100
-                            ? post.content.slice(0, 100) + "..."
+
+                        <p className="text-xs sm:text-sm text-base-content/70 mb-2 sm:mb-6">
+                          By{" "}
+                          <span className="font-semibold">
+                            {post.author_name}
+                          </span>
+                          <span className="mx-1">·</span>
+                          <span className="italic">
+                            {new Date(post.date_created).toLocaleDateString(
+                              "en-US",
+                              {
+                                year: "numeric",
+                                month: "short",
+                                day: "numeric",
+                              }
+                            )}
+                          </span>
+                        </p>
+
+                        <p className="hidden sm:block text-lg text-base-content/80 line-clamp-1">
+                          {post.content && post.content.length > 60
+                            ? post.content.slice(0, 60) + "..."
                             : post.content}
                         </p>
@@ -730,6 +719,10 @@
                   <button
                     className="btn btn-sm btn-ghost px-2 sm:px-3"
-                    onClick={() => fetchPosts(page - 1, false, filters)}
-                    disabled={loading || page === 0}
+                    onClick={() => {
+                      const newPage = page - 1;
+                      forumSearchParams.set("page", newPage.toString());
+                      setForumSearchParams(forumSearchParams);
+                    }}
+                    disabled={loading || page === 1}
                     title="Previous Page"
                   >
@@ -741,7 +734,10 @@
                       key={idx}
                       className={`btn btn-sm px-2 sm:px-3 ${
-                        page === idx ? "border-amber-400" : "btn-ghost"
+                        page - 1 === idx ? "border-amber-400" : "btn-ghost"
                       }`}
-                      onClick={() => fetchPosts(idx, false, filters)}
+                      onClick={() => {
+                        forumSearchParams.set("page", (idx + 1).toString());
+                        setForumSearchParams(forumSearchParams);
+                      }}
                       disabled={loading}
                     >
@@ -759,5 +755,8 @@
                     <button
                       className="btn btn-sm border-amber-400 px-2 sm:px-3"
-                      onClick={() => fetchPosts(page, false, filters)}
+                      onClick={() => {
+                        forumSearchParams.set("page", page.toString());
+                        setForumSearchParams(forumSearchParams);
+                      }}
                       disabled={loading}
                     >
@@ -769,9 +768,10 @@
                     <button
                       className={`btn btn-sm px-2 sm:px-3 ${
-                        page === totalPages - 1
-                          ? "border-amber-400"
-                          : "btn-ghost"
+                        page === totalPages ? "border-amber-400" : "btn-ghost"
                       }`}
-                      onClick={() => fetchPosts(totalPages - 1, false, filters)}
+                      onClick={() => {
+                        forumSearchParams.set("page", totalPages.toString());
+                        setForumSearchParams(forumSearchParams);
+                      }}
                       disabled={loading}
                     >
@@ -782,6 +782,10 @@
                   <button
                     className="btn btn-sm btn-ghost px-2 sm:px-3"
-                    onClick={() => fetchPosts(page + 1, false, filters)}
-                    disabled={loading || page === totalPages - 1}
+                    onClick={() => {
+                      const newPage = page + 1;
+                      forumSearchParams.set("page", newPage.toString());
+                      setForumSearchParams(forumSearchParams);
+                    }}
+                    disabled={loading || page === totalPages}
                     title="Next Page"
                   >
Index: client/src/Dashboard/components/ForumPostDetail.jsx
===================================================================
--- client/src/Dashboard/components/ForumPostDetail.jsx	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ client/src/Dashboard/components/ForumPostDetail.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -26,4 +26,5 @@
   const statePost = useState(location.state?.post || {});
   const fromPath = location.state?.from || "/dashboard/forum";
+  const fromForumSearchPrams = location.state?.fromForumSearch;
   const post = statePost[0];
   const [posting, setPosting] = useState(false);
@@ -137,5 +138,10 @@
           <button
             className="btn btn-ghost mb-4"
-            onClick={() => navigate(fromPath)}
+            onClick={() => {
+              const targetUrl = fromForumSearchPrams
+                ? `${fromPath}?${fromForumSearchPrams}`
+                : fromPath;
+              navigate(targetUrl);
+            }}
           >
             ← Back to {fromPath.includes("user-posts") ? "Your Posts" : "Forum"}
Index: client/src/Dashboard/components/ManagePosts.jsx
===================================================================
--- client/src/Dashboard/components/ManagePosts.jsx	(revision 4a2a8f2b734d9ee6556912a7296d0ccb5eed0b05)
+++ client/src/Dashboard/components/ManagePosts.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -1,4 +1,4 @@
 import React, { useState, useEffect, useCallback, useRef } from "react";
-
+import { useSearchParams } from "react-router-dom";
 import doneAll from "../../assets/images/done-all.svg";
 import trashIcon from "../../assets/images/delete.svg";
@@ -14,4 +14,5 @@
 const ManagePosts = () => {
   const [posts, setPosts] = useState([]);
+  const [searchParams, setSearchParams] = useSearchParams();
   const [page, setPage] = useState(1);
   const [totalPages, setTotalPages] = useState(0);
@@ -33,12 +34,20 @@
   // Filter states
   const defaultFilters = {
-    topic: "all", // "all", "general", "daily-challenge"
-    dateSort: "newest", // "newest", "oldest"
-    selectedDate: null, // specific date filter
-    searchText: "", // text search in title and content
-  };
-
-  const [filters, setFilters] = useState({ ...defaultFilters });
-  const [appliedFilters, setAppliedFilters] = useState({ ...defaultFilters });
+    topic: "all",
+    dateSort: "newest",
+    selectedDate: null,
+    searchText: "",
+  };
+
+  const [filters, setFilters] = useState(() => {
+    const initialFilters = { ...defaultFilters };
+    for (const [key, value] of searchParams.entries()) {
+      if (key in initialFilters) {
+        initialFilters[key] = value;
+      }
+    }
+    return initialFilters;
+  });
+
   const [showFilters, setShowFilters] = useState(false);
 
@@ -109,18 +118,33 @@
   };
 
-  // Apply all selected filters
   const applyFilters = () => {
-    console.log("Applying filters:", filters);
-    const currentFilters = { ...filters };
-    setAppliedFilters(currentFilters);
-  };
-
-  // Clear all filters and reset to default
+    const newSearchParams = new URLSearchParams();
+
+    for (const [key, value] of Object.entries(filters)) {
+      if (value && value.toString() !== defaultFilters[key]?.toString()) {
+        newSearchParams.set(key, value);
+      }
+    }
+    setSearchParams(newSearchParams);
+  };
+  const handleRemoveFilter = (filterKey) => {
+    const newFilters = { ...filters, [filterKey]: defaultFilters[filterKey] };
+    setFilters(newFilters);
+
+    const newSearchParams = new URLSearchParams(searchParams);
+    newSearchParams.delete(filterKey);
+    setSearchParams(newSearchParams);
+  };
   const clearFilters = () => {
-    console.log("Clearing filters, using defaults:", defaultFilters);
     const freshDefaultFilters = { ...defaultFilters };
     setFilters(freshDefaultFilters);
-    setAppliedFilters(freshDefaultFilters);
-  };
+    setSearchParams({});
+  };
+  const activeFilters = { ...defaultFilters };
+  for (const [key, value] of searchParams.entries()) {
+    if (key in activeFilters) {
+      activeFilters[key] = value;
+    }
+  }
 
   const showModal = (message, type, postId = null, post = null) => {
@@ -247,12 +271,6 @@
   };
 
-  const handlePageChange = (newPage) => {
-    if (newPage >= 0 && newPage < totalPages) {
-      setPage(newPage);
-    }
-  };
-
   // Apply filters to get filtered posts
-  const filteredPosts = applyFiltersToPendingPosts(posts, appliedFilters);
+  const filteredPosts = applyFiltersToPendingPosts(posts, activeFilters);
 
   const isLoading = authLoading || isFetching;
@@ -503,5 +521,5 @@
                         <span className="text-xs">Topic:</span>
                         <span className="font-medium text-xs">
-                          {appliedFilters.topic === "general"
+                          {filters.topic === "general"
                             ? "General"
                             : "Daily Challenge"}
@@ -510,9 +528,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = { ...filters, topic: "all" };
-                            setFilters(newFilters);
-                            applyFiltersToPendingPosts(posts, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("topic")}
                           aria-label="Remove topic filter"
                         >
@@ -530,9 +544,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = { ...filters, searchText: "" };
-                            setFilters(newFilters);
-                            applyFiltersToPendingPosts(posts, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("searchText")}
                           aria-label="Remove search filter"
                         >
@@ -552,12 +562,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = {
-                              ...filters,
-                              dateSort: "newest",
-                            };
-                            setFilters(newFilters);
-                            applyFiltersToPendingPosts(posts, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("dateSort")}
                           aria-label="Remove sort filter"
                         >
@@ -582,12 +585,5 @@
                           type="button"
                           className="ml-1 text-xs font-bold hover:text-error hover:cursor-pointer focus:outline-none"
-                          onClick={() => {
-                            const newFilters = {
-                              ...filters,
-                              selectedDate: null,
-                            };
-                            setFilters(newFilters);
-                            applyFiltersToPendingPosts(posts, newFilters);
-                          }}
+                          onClick={() => handleRemoveFilter("selectedDate")}
                           aria-label="Remove date filter"
                         >
@@ -634,13 +630,13 @@
             </p>
             <p className="text-xs sm:text-sm text-base-content/40 mt-2">
-              {appliedFilters.searchText ||
-              appliedFilters.topic !== "all" ||
-              appliedFilters.selectedDate
+              {activeFilters.searchText ||
+              activeFilters.topic !== "all" ||
+              activeFilters.selectedDate
                 ? "Try adjusting your filters to see more posts."
                 : "No posts are currently awaiting review."}
             </p>
-            {(appliedFilters.searchText ||
-              appliedFilters.topic !== "all" ||
-              appliedFilters.selectedDate) && (
+            {(activeFilters.searchText ||
+              activeFilters.topic !== "all" ||
+              activeFilters.selectedDate) && (
               <button
                 onClick={clearFilters}
@@ -661,10 +657,10 @@
               >
                 <h1
-                  className="text-lg sm:text-xl lg:text-2xl font-bold mb-4 pr-16 sm:pr-20"
+                  className="text-lg text-sm sm:text-xl lg:text-2xl font-bold mb-4 pr-16 sm:pr-20 cursor-pointer"
                   onClick={() => openViewPostModal(post)}
                 >
                   {post.title}
                 </h1>
-                <div className="absolute top-3 sm:top-4 right-3 sm:right-4 flex gap-1 sm:gap-2">
+                <div className="absolute gap-3 top-3 sm:top-4 right-3 sm:right-4 flex gap-1 sm:gap-2">
                   <button
                     title="Approve Post"
@@ -721,6 +717,6 @@
                 </p>
                 <p className="text-sm sm:text-base text-base-content/90 whitespace-pre-line break-words">
-                  {post.content && post.content.length > 100
-                    ? post.content.slice(0, 100) + "..."
+                  {post.content && post.content.length > 60
+                    ? post.content.slice(0, 60) + "..."
                     : post.content}
                 </p>
Index: client/src/contexts/ForumSearchParamsContext.jsx
===================================================================
--- client/src/contexts/ForumSearchParamsContext.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
+++ client/src/contexts/ForumSearchParamsContext.jsx	(revision 7202388d9140af7bd10bdac16f89d111e5129655)
@@ -0,0 +1,20 @@
+// import { createContext, useContext, useState } from "react";
+// import { useSearchParams } from "react-router-dom";
+// const ForumSearchParamsContext = createContext();
+
+// export const ForumSearchParamsProvider = ({ children }) => {
+//   const [searchParams, setSearchParams] = useSearchParams();
+
+//   return (
+//     <ForumSearchParamsContext.Provider
+//       value={{
+//         forumSearchParams: searchParams,
+//         setForumSearchParams: setSearchParams,
+//       }}
+//     >
+//       {children}
+//     </ForumSearchParamsContext.Provider>
+//   );
+// };
+
+// export const useForumSearchParams = () => useContext(ForumSearchParamsContext);
