diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx
index 85ee95e..9effedd 100644
--- a/client/src/components/Header.jsx
+++ b/client/src/components/Header.jsx
@@ -1,4 +1,4 @@
-import React, { useState, useEffect } from "react";
+import { useState, useEffect } from "react";
import { NavLink, Link, useNavigate } from "react-router-dom";
import { useSelector, useDispatch } from "react-redux";
import { logout } from "../store/slices/userSlice.jsx";
@@ -24,7 +24,7 @@ import ThemeToggle from "./ThemeToggle";
export default function Header() {
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
const [isScrolled, setIsScrolled] = useState(false);
- const { user, isAuthenticated } = useSelector(state => state.user);
+ const { user, isAuthenticated } = useSelector((state) => state.user);
const dispatch = useDispatch();
const navigate = useNavigate();
@@ -34,188 +34,142 @@ export default function Header() {
return () => window.removeEventListener("scroll", handleScroll);
}, []);
+ useEffect(() => {
+ document.body.style.overflow = isMobileMenuOpen ? "hidden" : "unset";
+ }, [isMobileMenuOpen]);
+
const handleLogout = () => {
- localStorage.removeItem('token');
- localStorage.removeItem('userData');
+ localStorage.removeItem("token");
+ localStorage.removeItem("userData");
dispatch(logout());
- navigate('/');
+ navigate("/");
};
- useEffect(() => {
- if (isMobileMenuOpen) {
- document.body.style.overflow = "hidden";
- } else {
- document.body.style.overflow = "unset";
- }
- return () => {
- document.body.style.overflow = "unset";
- };
- }, [isMobileMenuOpen]);
-
const navItems = [
{ to: "/", label: "Home", icon: },
{ to: "/about", label: "About", icon: },
{ to: "/blog", label: "Blog", icon: },
{ to: "/contactus", label: "Contact", icon: },
{ to: "/news", label: "News", icon: },
- {
- to: "/consultation",
- label: "Consultation",
- icon: ,
- },
- {
- to: "/care-co-pilot",
- label: "Care Co-Pilot",
- icon: ,
- },
- {
- to: "/growth-tracker",
- label: "Growth Tracker",
- icon: ,
- },
- {
- to: "/contributors",
- label: "Contributors",
- icon: ,
- },
+ { to: "/consultation", label: "Consultation", icon: },
+ { to: "/care-co-pilot", label: "Care Co-Pilot", icon: },
+ { to: "/growth-tracker", label: "Growth Tracker", icon: },
+ { to: "/contributors", label: "Contributors", icon: },
];
return (
<>
- {/* HEADER */}
+
+ {/* Logo */}
+
+

+
+
+
+ {/* Desktop Nav */}
+
+ {navItems.map(({ to, label, icon }) => (
+
+ `flex items-center gap-1.5 px-2 py-1 text-sm font-medium rounded-full transition-all duration-300 whitespace-nowrap ${
+ isActive
+ ? "bg-gradient-to-r from-purple-600 to-pink-500 text-white shadow"
+ : "text-gray-700 dark:text-gray-200 hover:bg-purple-100 dark:hover:bg-gray-800 hover:text-purple-600 dark:hover:text-purple-400"
+ }`
+ }
+ >
+ {icon}
+ {label}
+
+ ))}
+
-
-
- {/* Logo */}
-
-
-

-
-
- InfantCare
-
-
- Compass
-
+ {/* Right side: Theme toggle + Auth buttons */}
+
+
+
+ {isAuthenticated && user ? (
+
+
+
+
+ {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
+
+
+
-
-
- {/* Desktop Nav */}
-
-
-
- {navItems.map(({ to, label, icon }) => (
-
- `flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium rounded-full transition-all duration-300 whitespace-nowrap ${
- isActive
- ? "bg-gradient-to-r from-purple-600 to-pink-500 text-white shadow"
- : "text-gray-700 dark:text-gray-200 hover:bg-purple-100 dark:hover:bg-gray-800 hover:text-purple-600 dark:hover:text-purple-400"
- }`
- }
+ ) : (
+
+
- {icon}
- {label}
-
- ))}
-
-
- {/* Theme Toggle */}
-
-
-
-
-
-
- {/* Auth Buttons */}
-
- {isAuthenticated && user ? (
- <>
-
-
-
- {user.name} ({user.role === 'doctor' ? 'Doctor' : 'Patient'})
-
-
-
- >
+ Sign In
+
+
+ Get Started
+
+
+ )}
+
+ {/* Mobile Hamburger */}
+
-
- {/* Hamburger */}
-
-
-
+
- {/* Mobile Menu - OUTSIDE header container */}
+ {/* Overlay */}
{isMobileMenuOpen && (
setIsMobileMenuOpen(false)}
/>
)}
+ {/* Mobile Menu */}
{isMobileMenuOpen && (
-
-
- Menu
-
-
+
+ Menu
+
@@ -230,20 +184,15 @@ export default function Header() {
{label}
))}
-
- {/* Theme Toggle in Mobile Menu */}
-
-
-
-
+
{isAuthenticated && user ? (
<>
- {user.name} ({user.role === 'doctor' ? 'Doctor' : 'Patient'})
+ {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
);
};