Index: backend/controllers/forumController.js
===================================================================
--- backend/controllers/forumController.js	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ backend/controllers/forumController.js	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -9,4 +9,5 @@
 const { createReviewPost } = require("./reviewController");
 const verifyModeratorStatus = require("../services/checkModeratorStatus");
+const { resetPostCheckCounter } = require("../services/forumCountersReset");
 const {
   sendDeletedFromForumEmail,
@@ -28,4 +29,5 @@
     const postCounter = user.postCounter;
     const postCheckCounter = user.postCheckCounter;
+    console.log("Post check:", postCheckCounter);
 
     if (postCounter >= -11) {
@@ -67,4 +69,5 @@
           message:
             "Would you like to send this post to moderator for approval?",
+          reason: "USER_FLAGGED",
         });
       } else if (
@@ -113,5 +116,5 @@
       post.id = savedPost.id;
       await decrementPostCounter(authorId);
-      await resetPostCheckCoutner(authorId);
+      await resetPostCheckCounter(authorId);
       res.status(201).json({
         message: "Forum post created successfully",
@@ -128,19 +131,4 @@
   }
 };
-async function resetPostCheckCoutner(userId) {
-  try {
-    await prisma.users.update({
-      where: { id: userId },
-      data: {
-        postCheckCounter: 0,
-      },
-    });
-  } catch (error) {
-    console.error(
-      `Failed to decrement post counter for user ${userId}:`,
-      error
-    );
-  }
-}
 
 async function decrementPostCounter(userId) {
@@ -569,4 +557,4 @@
 
   deleteComment,
-  resetPostCheckCoutner,
-};
+  resetPostCheckCounter,
+};
Index: backend/controllers/reviewController.js
===================================================================
--- backend/controllers/reviewController.js	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ backend/controllers/reviewController.js	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -6,4 +6,5 @@
 const safeWords = require("../filters/safeWords");
 const verifyModeratorStatus = require("../services/checkModeratorStatus");
+const { resetPostCheckCounter } = require("../services/forumCountersReset");
 const {
   sendApprovalEmail,
@@ -55,5 +56,5 @@
     }
 
-    await resetPostCheckCoutner(authorId);
+    await resetPostCheckCounter(authorId);
     return res.status(201).json({
       message: "Post submitted for moderator approval",
@@ -64,19 +65,14 @@
   }
 };
-async function resetPostCheckCoutner(userId) {
-  try {
-    await prisma.users.update({
-      where: { id: userId },
-      data: {
-        postCheckCounter: 0,
-      },
-    });
-  } catch (error) {
-    console.error(
-      `Failed to decrement post counter for user ${userId}:`,
-      error
-    );
-  }
-}
+
+const resetCheckCounter = async (req, res) => {
+  try {
+    const { userId } = req.params;
+    await resetPostCheckCounter(userId);
+    res.status(200).json({ message: "Post check counter reset successfully" });
+  } catch (e) {
+    console.error("Error resetting post check counter:", e);
+  }
+};
 
 const getReviewPosts = async (req, res) => {
@@ -272,3 +268,4 @@
   approveReviewPost,
   getPendingPosts,
-};
+  resetCheckCounter,
+};
Index: backend/routers/reviewRouter.js
===================================================================
--- backend/routers/reviewRouter.js	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ backend/routers/reviewRouter.js	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -7,4 +7,5 @@
 router.get("/pendingPosts", reviewController.getPendingPosts);
 router.post("/posts/approval", reviewController.createReviewPost);
+router.put("/posts/approval/:userId", reviewController.resetCheckCounter);
 router.delete("/posts/:id/:userId", reviewController.deleteReviewPost);
 
Index: backend/services/forumCountersReset.js
===================================================================
--- backend/services/forumCountersReset.js	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
+++ backend/services/forumCountersReset.js	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -0,0 +1,19 @@
+const prisma = require("../lib/prisma");
+
+async function resetPostCheckCounter(userId) {
+  try {
+    await prisma.users.update({
+      where: { id: userId },
+      data: {
+        postCheckCounter: 0,
+      },
+    });
+  } catch (error) {
+    console.error(
+      `Failed to decrement post counter for user ${userId}:`,
+      error
+    );
+  }
+}
+
+module.exports = { resetPostCheckCounter };
Index: client/src/CreatePost/CreatePost.jsx
===================================================================
--- client/src/CreatePost/CreatePost.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/CreatePost/CreatePost.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -3,5 +3,8 @@
 import { createForumPost } from "@/services/forumService";
 import { useAuth } from "@/contexts/AuthContext";
-import { createApprovalForumPost } from "@/services/reviewService";
+import {
+  createApprovalForumPost,
+  discardApprovalForumPost,
+} from "@/services/reviewService";
 import { getTasksForForumPost } from "@/services/taskService";
 const CreatePost = () => {
@@ -86,12 +89,10 @@
       };
       const res = await createForumPost(postData);
-      if (res.message.includes("moderator approval")) {
-        showModal(res.message, "pending");
-      } else if (
-        res.message ===
-        "Would you like to send this post to moderator for approval?"
-      ) {
+      if (res.reason === "USER_FLAGGED") {
+        console.log(res.message);
         setPendingModerator(true);
         showModal(res.message, "moderatorPrompt");
+      } else if (res.message.includes("moderator approval")) {
+        showModal(res.message, "pending");
       } else {
         showModal("Post created successfully!", "success");
@@ -150,4 +151,5 @@
       }
     } else {
+      discardApprovalForumPost(user.id);
       setModal({ isOpen: false, message: "", type: "" });
     }
@@ -422,4 +424,5 @@
                 <input
                   type="text"
+                  disabled={isSubmitting}
                   value={title}
                   onChange={(e) => setTitle(e.target.value)}
@@ -442,4 +445,5 @@
                   className="textarea textarea-bordered min-h-[250px] sm:min-h-[300px] lg:min-h-[400px] w-full text-sm sm:text-base leading-relaxed focus:textarea-primary p-3 sm:p-4"
                   required
+                  disabled={isSubmitting}
                 ></textarea>
               </div>
@@ -518,4 +522,21 @@
                 </div>
               )}
+              {modal.type == "moderatorPrompt" && (
+                <div className="w-6 h-6 sm:w-8 sm:h-8 rounded-full bg-warning flex items-center justify-center shrink-0">
+                  <svg
+                    xmlns="http://www.w3.org/2000/svg"
+                    viewBox="0 0 24 24"
+                    fill="none"
+                    stroke="currentColor"
+                    stroke-width="2"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                  >
+                    <circle cx="12" cy="12" r="10" />
+                    <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
+                    <circle cx="12" cy="17" r="1" fill="currentColor" />
+                  </svg>
+                </div>
+              )}
               {(modal.type === "auth" || modal.type === "error") && (
                 <div className="w-6 h-6 sm:w-8 sm:h-8 rounded-full bg-error flex items-center justify-center shrink-0">
@@ -549,27 +570,12 @@
                 {modal.type === "auth" && "Authentication Required"}
                 {modal.type === "error" && "Error"}
+                {modal.type === "moderatorPrompt" &&
+                  "We found your recent posts inappropriate"}
               </h3>
             </div>
-            <div className="py-3 sm:py-4 flex items-center gap-3">
-              {modal.type === "moderatorPrompt" && (
-                <span className="inline-flex items-center justify-center w-6 h-6 sm:w-8 sm:h-8 aspect-square rounded-full text-warning">
-                  <svg
-                    xmlns="http://www.w3.org/2000/svg"
-                    viewBox="0 0 24 24"
-                    fill="none"
-                    stroke="currentColor"
-                    stroke-width="2"
-                    stroke-linecap="round"
-                    stroke-linejoin="round"
-                  >
-                    <circle cx="12" cy="12" r="10" />
-                    <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
-                    <circle cx="12" cy="17" r="1" fill="currentColor" />
-                  </svg>
-                </span>
-              )}
-              <span className="font-bold text-sm sm:text-base">
+            <div className="flex py-3 sm:py-4  items-center gap-3 ">
+              <p className="font-bold text-sm sm:text-base whitespace-pre-line ">
                 {modal.message}
-              </span>
+              </p>
             </div>
             <div className="flex justify-end gap-2 mt-6 sm:mt-8">
Index: client/src/Dashboard/components/CalendarPopover.jsx
===================================================================
--- client/src/Dashboard/components/CalendarPopover.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/Dashboard/components/CalendarPopover.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -64,5 +64,5 @@
     <div
       ref={popoverRef}
-      className="absolute top-10 mt-2 right-50 z-20 bg-base-200 rounded-lg shadow-xl p-4 border border-base-300 w-[300px]"
+      className="absolute top-10 mt-2 right-50 z-20 bg-base-200 rounded-lg shadow-xl p-4 border border-base-300 w-[320px]"
     >
       <calendar-date
Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/Dashboard/components/Forum.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -181,5 +181,5 @@
                   className="cursor-pointer px-3 py-2 sm:px-4 sm:py-2.5 md:px-6 md:py-3 bg-yellow-500 text-black rounded-lg hover:bg-yellow-600 text-sm sm:text-base font-medium transition-colors duration-200 flex-1 xs:flex-none lg:whitespace-nowrap"
                 >
-                  <span className="xs:hidden">Crete Post</span>
+                  <span className="xs:hidden">Create Post</span>
                 </button>
                 <button
Index: client/src/Dashboard/components/Navbar.jsx
===================================================================
--- client/src/Dashboard/components/Navbar.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/Dashboard/components/Navbar.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -1,3 +1,3 @@
-import React, { useState } from "react";
+import React, { useState, useEffect } from "react";
 import { useNavigate, useLocation } from "react-router-dom";
 import logoIcon from "../../assets/images/logoIcon.png";
@@ -6,5 +6,18 @@
 import RankBadgeNav from "@/utils/RankBadgeForNavbar";
 import { useAuth } from "@/contexts/AuthContext";
-
+const useIsDesktop = () => {
+  const [isDesktop, setIsDesktop] = useState(window.innerWidth >= 1024);
+
+  useEffect(() => {
+    const handleResize = () => {
+      setIsDesktop(window.innerWidth >= 1024);
+    };
+
+    window.addEventListener("resize", handleResize);
+    return () => window.removeEventListener("resize", handleResize);
+  }, []);
+
+  return isDesktop;
+};
 export default function Navbar() {
   const navigate = useNavigate();
@@ -12,5 +25,5 @@
   const { user } = useAuth();
   const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
-
+  const isDesktop = useIsDesktop();
   const isActive = (path) => {
     if (path === "/dashboard" && location.pathname === "/dashboard") {
@@ -22,4 +35,5 @@
         location.pathname === "/dashboard/forum/create-post" ||
         location.pathname === "/dashboard/create-post" ||
+        (location.pathname === "/dashboard/user-posts" && isDesktop) ||
         location.pathname.startsWith("/dashboard/forum-detail/"))
     ) {
Index: client/src/Dashboard/components/Task.jsx
===================================================================
--- client/src/Dashboard/components/Task.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/Dashboard/components/Task.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -230,5 +230,5 @@
                 </div>
                 <h1 className="card-title text-4xl font-bold mb-6">
-                  Challenge for {today}
+                  Challenge for {new Date().toLocaleDateString("en-GB")}
                 </h1>
                 <div className="divider"></div>
Index: client/src/Dashboard/components/UserPosts.jsx
===================================================================
--- client/src/Dashboard/components/UserPosts.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/Dashboard/components/UserPosts.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -176,5 +176,5 @@
                     navigate("/dashboard/create-post");
                   }}
-                  className="cursor-pointer px-4 py-2 sm:px-6 sm:py-3 bg-yellow-500 text-black rounded hover:bg-yellow-600 text-sm sm:text-base font-medium w-full lg:w-auto lg:whitespace-nowrap"
+                  className="cursor-pointer px-3 py-2 sm:px-4 sm:py-2.5 md:px-6 md:py-3 bg-yellow-500 text-black rounded-lg hover:bg-yellow-600 text-sm sm:text-base font-medium transition-colors duration-200 flex-1 xs:flex-none lg:whitespace-nowrap"
                 >
                   Create a Post
@@ -184,5 +184,5 @@
                     navigate("/dashboard/forum");
                   }}
-                  className="cursor-pointer px-4 py-2 sm:px-6 sm:py-3 bg-yellow-500 text-black rounded hover:bg-yellow-600 text-sm sm:text-base font-medium w-full lg:w-auto lg:whitespace-nowrap"
+                  className="cursor-pointer px-3 py-2 sm:px-4 sm:py-2.5 md:px-6 md:py-3 bg-yellow-500 text-black rounded-lg hover:bg-yellow-600 text-sm sm:text-base font-medium transition-colors duration-200 flex-1 xs:flex-none lg:whitespace-nowrap"
                 >
                   View Forum
Index: client/src/contexts/AuthContext.jsx
===================================================================
--- client/src/contexts/AuthContext.jsx	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/contexts/AuthContext.jsx	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -38,25 +38,22 @@
 
   const logout = useCallback(async () => {
+    navigate("/");
     clearTimeout(inactivityTimeoutRef.current);
     clearTimeout(tokenExpiryTimeoutRef.current);
-    navigate("/");
+
     await supabase.auth.signOut();
-
-    localStorage.removeItem("user");
-    localStorage.removeItem("jwt");
-    localStorage.removeItem("lastActivityTimestamp");
-    setUser(null);
-    userRef.current = null;
   }, [navigate]);
   useEffect(() => {
     const checkStaleSession = () => {
+      console.log("Checking for stale session...");
       const storedUser = localStorage.getItem("user");
       const lastActivity = localStorage.getItem("lastActivityTimestamp");
 
       if (storedUser && lastActivity) {
+        console.log("Found in stale session");
         const inactiveTime = Date.now() - parseInt(lastActivity);
 
         if (inactiveTime > INACTIVITY_TIMEOUT) {
-          logout();
+          supabase.auth.signOut();
         }
       }
@@ -64,5 +61,5 @@
 
     checkStaleSession();
-  }, [navigate, INACTIVITY_TIMEOUT]);
+  }, []);
   const resetInactivityTimer = useCallback(() => {
     const now = Date.now();
@@ -71,9 +68,11 @@
     if (userRef.current) {
       inactivityTimeoutRef.current = setTimeout(() => {
-        console.warn("Logged out due to inactivity");
+        const now = Date.now();
+        const readableTime = new Date(now).toLocaleString();
+        console.warn("Logged out due to inactivity", readableTime);
         logout();
       }, INACTIVITY_TIMEOUT);
     }
-  }, [logout]);
+  }, []);
 
   const login = useCallback(
Index: client/src/services/reviewService.js
===================================================================
--- client/src/services/reviewService.js	(revision 657dee5534c7954f690825f1b493d4b9de59c835)
+++ client/src/services/reviewService.js	(revision d6433e6b116b6f1c633537e18ea3f97a81143dd9)
@@ -31,4 +31,7 @@
   return await apiClient.post("/review/posts/approval", postData);
 };
+export const discardApprovalForumPost = async (userId) => {
+  return await apiClient.put(`/review/posts/approval/${userId}`);
+};
 export const approveReviewPost = async (postId, postData, userId) => {
   return await apiClient.post(`/review/posts/${postId}/${userId}`, postData);
