Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision dd75b478f3a10c5271ff1d9b0da7040acd7d1636)
+++ client/src/Dashboard/components/Forum.jsx	(revision 6b760839e27df876995660fdee50c2bff935d166)
@@ -54,4 +54,5 @@
 
       const data = await getForumPosts(page, postsPerPage);
+      console.log(data);
 
       if (page === 0) {
Index: client/src/Dashboard/components/ForumPostDetail.jsx
===================================================================
--- client/src/Dashboard/components/ForumPostDetail.jsx	(revision dd75b478f3a10c5271ff1d9b0da7040acd7d1636)
+++ client/src/Dashboard/components/ForumPostDetail.jsx	(revision 6b760839e27df876995660fdee50c2bff935d166)
@@ -105,5 +105,19 @@
       fetchComments();
     } catch (err) {
-      setError(err.message || "Failed to post comment");
+      // Check for inappropriate language error from backend
+      const message =
+        err?.response?.data?.error || err?.message || "Failed to post comment";
+      if (
+        message.toLowerCase().includes("inappropriate language") ||
+        message.toLowerCase().includes("not on topic") ||
+        message.toLowerCase().includes("profanity")
+      ) {
+        showModal(
+          "Your comment was not posted because it contains inappropriate language or is not on topic.",
+          "error"
+        );
+      } else {
+        setError(message);
+      }
       console.error("Error posting comment:", err);
     } finally {
@@ -249,4 +263,21 @@
                 </div>
               )}
+              {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">
+                  <svg
+                    className="w-4 h-4 sm:w-5 sm:h-5 text-error-content"
+                    fill="none"
+                    stroke="currentColor"
+                    viewBox="0 0 24 24"
+                  >
+                    <path
+                      strokeLinecap="round"
+                      strokeLinejoin="round"
+                      strokeWidth="2"
+                      d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
+                    />
+                  </svg>
+                </div>
+              )}
               {modal.type === "success" && (
                 <div className="w-8 h-8 rounded-full bg-success flex items-center justify-center shrink-0">
@@ -266,7 +297,13 @@
                 </div>
               )}
-              <h3 className="font-bold text-lg" id="modal-title">
-                Delete Comment
-              </h3>
+              {modal.type === "confirm" || modal.type == "success" ? (
+                <h3 className="font-bold text-lg" id="modal-title">
+                  Delete Comment
+                </h3>
+              ) : (
+                <h3 className="font-bold text-lg" id="modal-title">
+                  Comment Not Allowed
+                </h3>
+              )}
             </div>
             <p className="py-4">{modal.message}</p>
Index: client/src/contexts/AuthContext.jsx
===================================================================
--- client/src/contexts/AuthContext.jsx	(revision dd75b478f3a10c5271ff1d9b0da7040acd7d1636)
+++ client/src/contexts/AuthContext.jsx	(revision 6b760839e27df876995660fdee50c2bff935d166)
@@ -6,8 +6,8 @@
   useRef,
   useCallback,
-} from 'react';
-import { useNavigate } from 'react-router-dom';
-import { createClient } from '@supabase/supabase-js';
-import { loginUser, registerUser } from '@/services/registerLoginService';
+} from "react";
+import { useNavigate } from "react-router-dom";
+import { createClient } from "@supabase/supabase-js";
+import { loginUser, registerUser } from "@/services/registerLoginService";
 
 export const supabase = createClient(
@@ -18,5 +18,5 @@
       persistSession: true,
       autoRefreshToken: true,
-      storageKey: 'supabase-auth-token',
+      storageKey: "supabase-auth-token",
       storage: localStorage,
     },
@@ -40,10 +40,10 @@
     clearTimeout(inactivityTimeoutRef.current);
     clearTimeout(tokenExpiryTimeoutRef.current);
-    navigate('/');
+    navigate("/");
     await supabase.auth.signOut();
 
-    localStorage.removeItem('user');
-    localStorage.removeItem('jwt');
-    localStorage.removeItem('lastActivityTimestamp');
+    localStorage.removeItem("user");
+    localStorage.removeItem("jwt");
+    localStorage.removeItem("lastActivityTimestamp");
     setUser(null);
     userRef.current = null;
@@ -51,6 +51,6 @@
   useEffect(() => {
     const checkStaleSession = () => {
-      const storedUser = localStorage.getItem('user');
-      const lastActivity = localStorage.getItem('lastActivityTimestamp');
+      const storedUser = localStorage.getItem("user");
+      const lastActivity = localStorage.getItem("lastActivityTimestamp");
 
       if (storedUser && lastActivity) {
@@ -67,9 +67,9 @@
   const resetInactivityTimer = useCallback(() => {
     const now = Date.now();
-    localStorage.setItem('lastActivityTimestamp', Date.now().toString());
+    localStorage.setItem("lastActivityTimestamp", Date.now().toString());
     clearTimeout(inactivityTimeoutRef.current);
     if (userRef.current) {
       inactivityTimeoutRef.current = setTimeout(() => {
-        console.warn('Logged out due to inactivity');
+        console.warn("Logged out due to inactivity");
         logout();
       }, INACTIVITY_TIMEOUT);
@@ -84,5 +84,5 @@
       });
       if (error || !data.session?.access_token) {
-        return { success: false, error: error?.message || 'Login failed' };
+        return { success: false, error: error?.message || "Login failed" };
       }
 
@@ -95,6 +95,6 @@
       setUser(backendData.user);
       userRef.current = backendData.user.id;
-      localStorage.setItem('user', JSON.stringify(backendData.user));
-      localStorage.setItem('jwt', data.session.access_token);
+      localStorage.setItem("user", JSON.stringify(backendData.user));
+      localStorage.setItem("jwt", data.session.access_token);
       resetInactivityTimer();
       return { success: true };
@@ -136,5 +136,5 @@
           return {
             success: false,
-            error: 'An unexpected network error occurred.',
+            error: "An unexpected network error occurred.",
           };
         }
@@ -145,18 +145,14 @@
 
   useEffect(() => {
-    const localUser = localStorage.getItem('user');
-    if (localUser) {
-      setUser(localUser);
-    }
     setLoading(true);
     const { data: authListener } = supabase.auth.onAuthStateChange(
       async (event, session) => {
         console.log(event);
-        if (event === 'TOKEN_REFRESHED' && session) {
+        if (event === "TOKEN_REFRESHED" && session) {
           const now = Date.now();
           const readableTime = new Date(now).toLocaleString();
           console.log(`Token reset at: ${readableTime}`);
 
-          localStorage.setItem('jwt', session.access_token);
+          localStorage.setItem("jwt", session.access_token);
 
           return;
@@ -167,7 +163,7 @@
             setUser(backendData.user);
             userRef.current = backendData.user.id;
-            localStorage.setItem('user', JSON.stringify(backendData.user));
-            localStorage.setItem('jwt', session.access_token);
-            if (event === 'INITIAL_SESSION' || event === 'SIGNED_IN') {
+            localStorage.setItem("user", JSON.stringify(backendData.user));
+            localStorage.setItem("jwt", session.access_token);
+            if (event === "INITIAL_SESSION" || event === "SIGNED_IN") {
               resetInactivityTimer();
             }
@@ -178,6 +174,6 @@
           setUser(null);
           userRef.current = null;
-          localStorage.removeItem('user');
-          localStorage.removeItem('jwt');
+          localStorage.removeItem("user");
+          localStorage.removeItem("jwt");
         }
         setLoading(false);
@@ -191,5 +187,5 @@
 
   useEffect(() => {
-    const events = ['click', 'mousemove', 'keydown', 'scroll', 'touchstart'];
+    const events = ["click", "mousemove", "keydown", "scroll", "touchstart"];
     const handleActivity = () => resetInactivityTimer();
     events.forEach((event) => window.addEventListener(event, handleActivity));
@@ -203,5 +199,5 @@
     setUser(newUserData);
 
-    localStorage.setItem('user', JSON.stringify(newUserData));
+    localStorage.setItem("user", JSON.stringify(newUserData));
   }, []);
   return (
