From b6aa6e3d4d68e76aa785305ff6c6d7d9b90f8e95 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Sat, 27 Sep 2025 14:40:18 +0530 Subject: [PATCH 01/19] All the components are in Hamburg menu for desktop mode. It is not expand in header now because in expanded version the components overlap. --- client/src/components/Header.jsx | 131 +++++++++----------------- client/src/components/ThemeToggle.jsx | 13 ++- 2 files changed, 53 insertions(+), 91 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index f11f176..ce37007 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -1,3 +1,4 @@ + import React, { useState, useEffect } from "react"; import { NavLink, Link, useNavigate } from "react-router-dom"; import { useSelector, useDispatch } from "react-redux"; @@ -24,7 +25,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(); @@ -35,10 +36,10 @@ export default function Header() { }, []); const handleLogout = () => { - localStorage.removeItem('token'); - localStorage.removeItem('userData'); + localStorage.removeItem("token"); + localStorage.removeItem("userData"); dispatch(logout()); - navigate('/'); + navigate("/"); }; useEffect(() => { @@ -58,26 +59,10 @@ export default function Header() { { 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 ( @@ -90,95 +75,73 @@ export default function Header() { >
- {/* Logo */} - + {/* Logo on left */} + Logo
-

+

InfantCare

-

+

Compass

- {/* 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 ${ - 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 */} -
+ {/* Right side - Theme + Auth + Hamburger */} +
+ {/* Theme Toggle */} -
- {/* Auth Buttons */} -
+ {/* Desktop Auth */} {isAuthenticated && user ? ( - <> +
- + - {user.name} ({user.role === 'doctor' ? 'Doctor' : 'Patient'}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
- +
) : ( - <> +
Sign In Get Started - +
)} -
- {/* Hamburger */} -
+ {/* Hamburger icon */}
@@ -186,32 +149,32 @@ export default function Header() {
- {/* Mobile Menu - OUTSIDE header container */} + {/* Overlay for Mobile Menu */} {isMobileMenuOpen && (
setIsMobileMenuOpen(false)} /> )} + {/* Slide-in Menu (right side) */} {isMobileMenuOpen && (
-
-
- Menu - -
+
+ Menu +
+ {/* Nav links */}
{navItems.map(({ to, label, icon }) => ( ))} - - {/* Theme Toggle in Mobile Menu */} -
- -
-
+ {/* Auth buttons in menu (mobile only, removed SignIn/GetStarted from desktop) */} +
{isAuthenticated && user ? ( <>
- {user.name} ({user.role === 'doctor' ? 'Doctor' : 'Patient'}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
); }; From 126775fc7888acb0893c3050f2338e07a9403a54 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Mon, 29 Sep 2025 21:16:19 +0530 Subject: [PATCH 02/19] I remove all the unusual comments. --- client/src/components/Header.jsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index ce37007..7c714ea 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -67,7 +67,7 @@ export default function Header() { return ( <> - {/* HEADER */} +
- {/* Logo on left */} + - {/* Right side - Theme + Auth + Hamburger */} +
- {/* Theme Toggle */} + - {/* Desktop Auth */} + {isAuthenticated && user ? (
@@ -132,7 +132,7 @@ export default function Header() {
)} - {/* Hamburger icon */} +
- {/* Overlay for Mobile Menu */} + {isMobileMenuOpen && (
)} - {/* Slide-in Menu (right side) */} + {isMobileMenuOpen && (
- {/* Nav links */} +
{navItems.map(({ to, label, icon }) => ( - {/* Auth buttons in menu (mobile only, removed SignIn/GetStarted from desktop) */} +
{isAuthenticated && user ? ( <> From 0f87583400e0816b70724f61aa5e2caf63ef8457 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Tue, 30 Sep 2025 19:40:11 +0530 Subject: [PATCH 03/19] Formattinh of code and remove all unusual comments. --- client/src/components/Header.jsx | 424 ++++++++++++++++--------------- 1 file changed, 216 insertions(+), 208 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 7c714ea..956e770 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -1,234 +1,242 @@ - import React, { 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"; import { - Home, - User, - BookOpen, - Mail, - Newspaper, - Phone, - Menu, - X, - Users, - Heart, - LogOut, - UserCircle, - TrendingUp, + Home, + User, + BookOpen, + Mail, + Newspaper, + Phone, + Menu, + X, + Users, + Heart, + LogOut, + UserCircle, + TrendingUp, } from "lucide-react"; import { motion } from "framer-motion"; import navlogo from "/logo.png"; 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 dispatch = useDispatch(); - const navigate = useNavigate(); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isScrolled, setIsScrolled] = useState(false); + const { user, isAuthenticated } = useSelector((state) => state.user); + const dispatch = useDispatch(); + const navigate = useNavigate(); - useEffect(() => { - const handleScroll = () => setIsScrolled(window.scrollY > 10); - window.addEventListener("scroll", handleScroll); - return () => window.removeEventListener("scroll", handleScroll); - }, []); + useEffect(() => { + const handleScroll = () => setIsScrolled(window.scrollY > 10); + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); + }, []); - const handleLogout = () => { - localStorage.removeItem("token"); - localStorage.removeItem("userData"); - dispatch(logout()); - navigate("/"); - }; + const handleLogout = () => { + localStorage.removeItem("token"); + localStorage.removeItem("userData"); + dispatch(logout()); + navigate("/"); + }; - useEffect(() => { - if (isMobileMenuOpen) { - document.body.style.overflow = "hidden"; - } else { - document.body.style.overflow = "unset"; - } - return () => { - document.body.style.overflow = "unset"; - }; - }, [isMobileMenuOpen]); + 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: }, - ]; + 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: , + }, + ]; - return ( - <> - -
+
-
-
- - - Logo -
-

- InfantCare -

-

- Compass -

-
- - + > +
+
+ + Logo +
+

+ InfantCare +

+

+ Compass +

+
+ - -
- - +
+ - - {isAuthenticated && user ? ( -
-
- - - {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - -
- )} + {isAuthenticated && user ? ( +
+
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} - - -
-
-
-
+ +
+
+
+
- - {isMobileMenuOpen && ( -
setIsMobileMenuOpen(false)} - /> - )} + {isMobileMenuOpen && ( +
setIsMobileMenuOpen(false)} + /> + )} - - {isMobileMenuOpen && ( - -
-
- Menu - -
+ {isMobileMenuOpen && ( + +
+
+ + Menu + + +
- -
- {navItems.map(({ to, label, icon }) => ( - setIsMobileMenuOpen(false)} - className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" - > - {icon} - {label} - - ))} -
+
+ {navItems.map(({ to, label, icon }) => ( + setIsMobileMenuOpen(false)} + className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" + > + {icon} + {label} + + ))} +
- -
- {isAuthenticated && user ? ( - <> -
- - - {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) - -
- - - ) : ( - <> - setIsMobileMenuOpen(false)} - className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" - > - Sign In - - setIsMobileMenuOpen(false)} - className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" - > - Get Started - - - )} -
-
-
- )} - - ); +
+ {isAuthenticated && user ? ( + <> +
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ + + ) : ( + <> + setIsMobileMenuOpen(false)} + className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" + > + Sign In + + setIsMobileMenuOpen(false)} + className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" + > + Get Started + + + )} +
+
+
+ )} + + ); } From d18df434de447e8eb04d5f25419c2bf9eff437e2 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 15:25:21 +0530 Subject: [PATCH 04/19] The conflict arises due to formatting is resolved in Header file. --- client/src/components/Header.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 956e770..4dedd6c 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -84,9 +84,9 @@ export default function Header() { <>
+ ${isScrolled ? "shadow-md" : ""} + bg-white/80 dark:bg-gray-900/80 backdrop-blur-md border-b border-gray-200 dark:border-gray-700`} + >
From 2a82a3f2bab97fdf521715ab5e9670f617de10cc Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 16:25:21 +0530 Subject: [PATCH 05/19] Merge conflict is resolution. --- client/src/components/Header.jsx | 438 +++++++++++++++---------------- 1 file changed, 219 insertions(+), 219 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 4dedd6c..3db0ddf 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -1,242 +1,242 @@ -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"; import { - Home, - User, - BookOpen, - Mail, - Newspaper, - Phone, - Menu, - X, - Users, - Heart, - LogOut, - UserCircle, - TrendingUp, + Home, + User, + BookOpen, + Mail, + Newspaper, + Phone, + Menu, + X, + Users, + Heart, + LogOut, + UserCircle, + TrendingUp, } from "lucide-react"; import { motion } from "framer-motion"; import navlogo from "/logo.png"; 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 dispatch = useDispatch(); - const navigate = useNavigate(); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isScrolled, setIsScrolled] = useState(false); + const { user, isAuthenticated } = useSelector((state) => state.user); + const dispatch = useDispatch(); + const navigate = useNavigate(); - useEffect(() => { - const handleScroll = () => setIsScrolled(window.scrollY > 10); - window.addEventListener("scroll", handleScroll); - return () => window.removeEventListener("scroll", handleScroll); - }, []); + useEffect(() => { + const handleScroll = () => setIsScrolled(window.scrollY > 10); + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); + }, []); - const handleLogout = () => { - localStorage.removeItem("token"); - localStorage.removeItem("userData"); - dispatch(logout()); - navigate("/"); - }; + const handleLogout = () => { + localStorage.removeItem("token"); + localStorage.removeItem("userData"); + dispatch(logout()); + navigate("/"); + }; - useEffect(() => { - if (isMobileMenuOpen) { - document.body.style.overflow = "hidden"; - } else { - document.body.style.overflow = "unset"; - } - return () => { - document.body.style.overflow = "unset"; - }; - }, [isMobileMenuOpen]); + 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: , - }, - ]; + 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: , + }, + ]; - return ( - <> -
-
-
- - Logo -
-

- InfantCare -

-

- Compass -

-
- + return ( + <> +
+
+
+ + Logo +
+

+ InfantCare +

+

+ Compass +

+
+ -
- +
+ - {isAuthenticated && user ? ( -
-
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - -
- )} + {isAuthenticated && user ? ( +
+
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} - -
-
-
-
+ +
+
+
+
- {isMobileMenuOpen && ( -
setIsMobileMenuOpen(false)} - /> - )} + {isMobileMenuOpen && ( +
setIsMobileMenuOpen(false)} + /> + )} - {isMobileMenuOpen && ( - -
-
- - Menu - - -
+ {isMobileMenuOpen && ( + +
+
+ + Menu + + +
-
- {navItems.map(({ to, label, icon }) => ( - setIsMobileMenuOpen(false)} - className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" - > - {icon} - {label} - - ))} -
+
+ {navItems.map(({ to, label, icon }) => ( + setIsMobileMenuOpen(false)} + className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" + > + {icon} + {label} + + ))} +
-
- {isAuthenticated && user ? ( - <> -
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- - - ) : ( - <> - setIsMobileMenuOpen(false)} - className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" - > - Sign In - - setIsMobileMenuOpen(false)} - className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" - > - Get Started - - - )} -
-
-
- )} - - ); +
+ {isAuthenticated && user ? ( + <> +
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ + + ) : ( + <> + setIsMobileMenuOpen(false)} + className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" + > + Sign In + + setIsMobileMenuOpen(false)} + className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" + > + Get Started + + + )} +
+
+
+ )} + + ); } From 3d84658a52f3e5c31c8b513a3c8b59cae3bdd435 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 16:25:21 +0530 Subject: [PATCH 06/19] I try to resolve conflict --- client/src/components/Header.jsx | 438 +++++++++++++++---------------- 1 file changed, 219 insertions(+), 219 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 4dedd6c..3db0ddf 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -1,242 +1,242 @@ -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"; import { - Home, - User, - BookOpen, - Mail, - Newspaper, - Phone, - Menu, - X, - Users, - Heart, - LogOut, - UserCircle, - TrendingUp, + Home, + User, + BookOpen, + Mail, + Newspaper, + Phone, + Menu, + X, + Users, + Heart, + LogOut, + UserCircle, + TrendingUp, } from "lucide-react"; import { motion } from "framer-motion"; import navlogo from "/logo.png"; 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 dispatch = useDispatch(); - const navigate = useNavigate(); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isScrolled, setIsScrolled] = useState(false); + const { user, isAuthenticated } = useSelector((state) => state.user); + const dispatch = useDispatch(); + const navigate = useNavigate(); - useEffect(() => { - const handleScroll = () => setIsScrolled(window.scrollY > 10); - window.addEventListener("scroll", handleScroll); - return () => window.removeEventListener("scroll", handleScroll); - }, []); + useEffect(() => { + const handleScroll = () => setIsScrolled(window.scrollY > 10); + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); + }, []); - const handleLogout = () => { - localStorage.removeItem("token"); - localStorage.removeItem("userData"); - dispatch(logout()); - navigate("/"); - }; + const handleLogout = () => { + localStorage.removeItem("token"); + localStorage.removeItem("userData"); + dispatch(logout()); + navigate("/"); + }; - useEffect(() => { - if (isMobileMenuOpen) { - document.body.style.overflow = "hidden"; - } else { - document.body.style.overflow = "unset"; - } - return () => { - document.body.style.overflow = "unset"; - }; - }, [isMobileMenuOpen]); + 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: , - }, - ]; + 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: , + }, + ]; - return ( - <> -
-
-
- - Logo -
-

- InfantCare -

-

- Compass -

-
- + return ( + <> +
+
+
+ + Logo +
+

+ InfantCare +

+

+ Compass +

+
+ -
- +
+ - {isAuthenticated && user ? ( -
-
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - -
- )} + {isAuthenticated && user ? ( +
+
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} - -
-
-
-
+ +
+
+
+
- {isMobileMenuOpen && ( -
setIsMobileMenuOpen(false)} - /> - )} + {isMobileMenuOpen && ( +
setIsMobileMenuOpen(false)} + /> + )} - {isMobileMenuOpen && ( - -
-
- - Menu - - -
+ {isMobileMenuOpen && ( + +
+
+ + Menu + + +
-
- {navItems.map(({ to, label, icon }) => ( - setIsMobileMenuOpen(false)} - className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" - > - {icon} - {label} - - ))} -
+
+ {navItems.map(({ to, label, icon }) => ( + setIsMobileMenuOpen(false)} + className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" + > + {icon} + {label} + + ))} +
-
- {isAuthenticated && user ? ( - <> -
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- - - ) : ( - <> - setIsMobileMenuOpen(false)} - className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" - > - Sign In - - setIsMobileMenuOpen(false)} - className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" - > - Get Started - - - )} -
-
-
- )} - - ); +
+ {isAuthenticated && user ? ( + <> +
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ + + ) : ( + <> + setIsMobileMenuOpen(false)} + className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" + > + Sign In + + setIsMobileMenuOpen(false)} + className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" + > + Get Started + + + )} +
+
+
+ )} + + ); } From ae1d3185bb6a3389a3e0e9904c98bb124754ce0d Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 17:19:35 +0530 Subject: [PATCH 07/19] ... --- client/src/components/Header.jsx | 52 ++++++++------------------------ 1 file changed, 12 insertions(+), 40 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 3db0ddf..4f7fd35 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -58,50 +58,26 @@ export default function Header() { { 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 ( <>
- Logo + Logo
-

- InfantCare -

-

- Compass -

+

InfantCare

+

Compass

@@ -113,8 +89,7 @@ export default function Header() {
- {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
@@ -203,8 +176,7 @@ export default function Header() {
- {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
- - - ) : ( - <> - - Sign In - - - Get Started - - - )} -
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} +
- {/* Hamburger */} -
@@ -186,32 +167,30 @@ export default function Header() {
- {/* Mobile Menu - OUTSIDE header container */} + {isMobileMenuOpen && (
setIsMobileMenuOpen(false)} /> )} - {isMobileMenuOpen && (
-
-
- Menu - -
+
+ Menu +
+
{navItems.map(({ to, label, icon }) => ( ))} - - {/* Theme Toggle in Mobile Menu */} -
- -
-
+ +
{isAuthenticated && user ? ( <>
- {user.name} ({user.role === 'doctor' ? 'Doctor' : 'Patient'}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
); -} +}; + +export default Header; \ No newline at end of file diff --git a/client/src/components/ThemeToggle.jsx b/client/src/components/ThemeToggle.jsx index 1cb8f79..9777d4e 100644 --- a/client/src/components/ThemeToggle.jsx +++ b/client/src/components/ThemeToggle.jsx @@ -21,11 +21,14 @@ const ThemeToggle = () => { isDarkMode ? 'opacity-0' : 'opacity-100' }`} /> - + +
+ +
); }; From f213983c778464412bfefb418ab1ddca40c87e23 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Mon, 29 Sep 2025 21:16:19 +0530 Subject: [PATCH 11/19] I remove all the unusual comments. --- client/src/components/Header.jsx | 96 +++++++++++++------------------- 1 file changed, 40 insertions(+), 56 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 2557bce..8e469f0 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -67,6 +67,7 @@ const Header = () => { return (
+ {/* HEADER */}
{ >
+ {/* Logo on left */} {
-
- {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} - - ))} -
- + {/* Right side - Theme + Auth + Hamburger */}
-
- -
+ {/* Theme Toggle */} + - {/* Auth Buttons */} -
- {isAuthenticated && user ? ( -
-
- - - {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - + {/* Desktop Auth */} + {isAuthenticated && user ? ( +
+
+ + + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) +
- )} -
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} + {/* Hamburger icon */}
- {isMobileMenuOpen && (
{ onClick={() => setIsMobileMenuOpen(false)} /> )} - - {/* Slide-in Menu (right side) */} {isMobileMenuOpen && ( { ))}
- -
{isAuthenticated && user ? ( <> @@ -229,8 +230,8 @@ const Header = () => {
)} -
+ ); -}; +} export default Header; \ No newline at end of file From 03bb0d57da4d1b4cbd6ef95a7897d89b4fdec572 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 15:25:21 +0530 Subject: [PATCH 13/19] The conflict arises due to formatting is resolved in Header file. --- client/src/components/Header.jsx | 305 ++++++++++++++++--------------- 1 file changed, 156 insertions(+), 149 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 6511d57..ba58e6a 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -80,158 +80,165 @@ function Header() { }, ]; - return ( - <> -
+
-
-
- - - Logo -
-

- InfantCare -

-

- Compass -

-
- -
- - {isAuthenticated && user ? ( -
-
- - - {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - -
- )} - -
-
-
-
- - {isMobileMenuOpen && ( -
setIsMobileMenuOpen(false)} - /> - )} - {isMobileMenuOpen && ( - -
-
- Menu - -
+ > +
+
+ + Logo +
+

+ InfantCare +

+

+ Compass +

+
+ - -
- {navItems.map(({ to, label, icon }) => ( - setIsMobileMenuOpen(false)} - className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" - > - {icon} - {label} - - ))} -
-
- {isAuthenticated && user ? ( - <> -
- - - {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) - -
- - - ) : ( - <> - setIsMobileMenuOpen(false)} - className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" - > - Sign In - - setIsMobileMenuOpen(false)} - className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" - > - Get Started - - - )} -
-
- - )} - - ); +
+ + + {isAuthenticated && user ? ( +
+
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} + + +
+
+
+
+ + {isMobileMenuOpen && ( +
setIsMobileMenuOpen(false)} + /> + )} + + {isMobileMenuOpen && ( + +
+
+ + Menu + + +
+ +
+ {navItems.map(({ to, label, icon }) => ( + setIsMobileMenuOpen(false)} + className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" + > + {icon} + {label} + + ))} +
+ +
+ {isAuthenticated && user ? ( + <> +
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ + + ) : ( + <> + setIsMobileMenuOpen(false)} + className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" + > + Sign In + + setIsMobileMenuOpen(false)} + className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" + > + Get Started + + + )} +
+
+
+ )} + + ); } export default Header; \ No newline at end of file From c49979464c7c809dafea41c5bc03473a7ec73929 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 16:25:21 +0530 Subject: [PATCH 14/19] I try to resolve conflict --- client/src/components/Header.jsx | 396 +++++++++++++++---------------- 1 file changed, 198 insertions(+), 198 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index ba58e6a..1213446 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -1,92 +1,92 @@ -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"; import { - Home, - User, - BookOpen, - Mail, - Newspaper, - Phone, - Menu, - X, - Users, - Heart, - LogOut, - UserCircle, - TrendingUp, + Home, + User, + BookOpen, + Mail, + Newspaper, + Phone, + Menu, + X, + Users, + Heart, + LogOut, + UserCircle, + TrendingUp, } from "lucide-react"; import { motion } from "framer-motion"; import navlogo from "/logo.png"; import ThemeToggle from "./ThemeToggle"; function Header() { - const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); - const [isScrolled, setIsScrolled] = useState(false); - const { user, isAuthenticated } = useSelector((state) => state.user); - const dispatch = useDispatch(); - const navigate = useNavigate(); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isScrolled, setIsScrolled] = useState(false); + const { user, isAuthenticated } = useSelector((state) => state.user); + const dispatch = useDispatch(); + const navigate = useNavigate(); - useEffect(() => { - const handleScroll = () => setIsScrolled(window.scrollY > 10); - window.addEventListener("scroll", handleScroll); - return () => window.removeEventListener("scroll", handleScroll); - }, []); + useEffect(() => { + const handleScroll = () => setIsScrolled(window.scrollY > 10); + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); + }, []); - const handleLogout = () => { - localStorage.removeItem("token"); - localStorage.removeItem("userData"); - dispatch(logout()); - navigate("/"); - }; + const handleLogout = () => { + localStorage.removeItem("token"); + localStorage.removeItem("userData"); + dispatch(logout()); + navigate("/"); + }; - useEffect(() => { - if (isMobileMenuOpen) { - document.body.style.overflow = "hidden"; - } else { - document.body.style.overflow = "unset"; - } - return () => { - document.body.style.overflow = "unset"; - }; - }, [isMobileMenuOpen]); + 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: , - }, - ]; + 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: , + }, + ]; return ( <>
+ ${isScrolled ? "shadow-md" : ""} + bg-white/80 dark:bg-gray-900/80 backdrop-blur-md border-b border-gray-200 dark:border-gray-700`} + >
@@ -105,140 +105,140 @@ function Header() {
-
- +
+ - {isAuthenticated && user ? ( -
-
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - -
- )} + {isAuthenticated && user ? ( +
+
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} - -
-
-
-
+ +
+
+
+
- {isMobileMenuOpen && ( -
setIsMobileMenuOpen(false)} - /> - )} + {isMobileMenuOpen && ( +
setIsMobileMenuOpen(false)} + /> + )} - {isMobileMenuOpen && ( - -
-
- - Menu - - -
+ {isMobileMenuOpen && ( + +
+
+ + Menu + + +
-
- {navItems.map(({ to, label, icon }) => ( - setIsMobileMenuOpen(false)} - className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" - > - {icon} - {label} - - ))} -
+
+ {navItems.map(({ to, label, icon }) => ( + setIsMobileMenuOpen(false)} + className="flex items-center gap-3 p-3 rounded-lg mb-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-white" + > + {icon} + {label} + + ))} +
-
- {isAuthenticated && user ? ( - <> -
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- - - ) : ( - <> - setIsMobileMenuOpen(false)} - className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" - > - Sign In - - setIsMobileMenuOpen(false)} - className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" - > - Get Started - - - )} -
-
-
- )} - - ); +
+ {isAuthenticated && user ? ( + <> +
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ + + ) : ( + <> + setIsMobileMenuOpen(false)} + className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" + > + Sign In + + setIsMobileMenuOpen(false)} + className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" + > + Get Started + + + )} +
+
+
+ )} + + ); } export default Header; \ No newline at end of file From 7395e2ec33ef5ff1bd7ac611408c00ac9640423d Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 17:19:35 +0530 Subject: [PATCH 15/19] ... --- client/src/components/Header.jsx | 82 ++++++++++++-------------------- 1 file changed, 31 insertions(+), 51 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 1213446..beb067e 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -58,52 +58,36 @@ function Header() { { 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 ( - <> -
-
-
- - Logo -
-

- InfantCare -

-

- Compass -

-
- + return ( + <> +
+
+
+ + Logo +
+

+ InfantCare +

+

+ Compass +

+
+
@@ -113,8 +97,7 @@ function Header() {
- {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
@@ -203,8 +184,7 @@ function Header() {
- {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})
-
- ) : ( -
- - Sign In - - - Get Started - -
- )} + {isAuthenticated && user ? ( +
+
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ +
+ ) : ( +
+ + Sign In + + + Get Started + +
+ )} -
+ {isMobileMenuOpen && ( + +
+
+ + Menu + + +
{navItems.map(({ to, label, icon }) => ( @@ -178,47 +197,48 @@ function Header() { ))}
-
- {isAuthenticated && user ? ( - <> -
- - - {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) - -
- - - ) : ( - <> - setIsMobileMenuOpen(false)} - className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" - > - Sign In - - setIsMobileMenuOpen(false)} - className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" - > - Get Started - - - )} -
-
-
- )} - - ); +
+ {isAuthenticated && user ? ( + <> +
+ + + {user.name} ( + {user.role === "doctor" ? "Doctor" : "Patient"}) + +
+ + + ) : ( + <> + setIsMobileMenuOpen(false)} + className="w-full text-purple-600 border border-purple-600 px-4 py-2 rounded-full text-center text-sm font-medium hover:bg-purple-600 hover:text-white transition" + > + Sign In + + setIsMobileMenuOpen(false)} + className="w-full bg-gradient-to-r from-pink-500 to-purple-600 px-4 py-2 text-white rounded-full text-center text-sm font-semibold hover:scale-105 transition-transform" + > + Get Started + + + )} +
+
+ + )} + + ); } export default Header; \ No newline at end of file From 9733b5894c7adaf77ead7904299fe6e81636fdc4 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 19:04:23 +0530 Subject: [PATCH 17/19] .. --- client/src/components/Header.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 8fde306..47c47c8 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -241,4 +241,6 @@ const Header = () => { ); } -export default Header; \ No newline at end of file + +export default Header; + From 5be957a3261276e9eb15446b03deb9377f059c36 Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Thu, 2 Oct 2025 21:38:52 +0530 Subject: [PATCH 18/19] Try to resole merge conflict. --- client/src/components/Header.jsx | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index 47c47c8..d6fdaa7 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -87,9 +87,11 @@ const Header = () => { ${isScrolled ? "shadow-md" : ""} bg-white/80 dark:bg-gray-900/80 backdrop-blur-md border-b border-gray-200 dark:border-gray-700`} > +
+ Logo {
+
- + {/* 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 */} +
+ +
{isAuthenticated && user ? (
From b0981164fb788c19b07138b9dbbc8e244e3068fc Mon Sep 17 00:00:00 2001 From: Akanksha6209127 Date: Sat, 4 Oct 2025 11:32:29 +0530 Subject: [PATCH 19/19] Fix header layout and adjust spacing for Get Started button --- client/src/components/Header.jsx | 261 +++++++++++-------------------- 1 file changed, 90 insertions(+), 171 deletions(-) diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx index bd525ab..5a7eb75 100644 --- a/client/src/components/Header.jsx +++ b/client/src/components/Header.jsx @@ -34,6 +34,10 @@ 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"); @@ -41,191 +45,109 @@ export default function Header() { 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 ( <> -
- - -
-
- - - - - Logo -
-

- InfantCare -

-

- Compass -

-
- - - - -
- - {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 */} - -
- - +
+ {/* Logo */} + + Logo +
+

InfantCare

+

Compass

+ + + {/* 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} + + ))} +
- -
- {/* 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 */} -
- + {/* Right side: Theme toggle + Auth buttons */} +
+ + + {isAuthenticated && user ? ( +
+
+ + + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"}) + +
+
- - {/* Auth Buttons */} -
- {isAuthenticated && user ? ( -
-
- - - {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) - -
- -
- ) : ( -
- - Sign In - - - Get Started - -
- )} + ) : ( +
+ + Sign In + + + Get Started +
- - -
+ )} + + {/* Mobile Hamburger */} +
+ {/* Overlay */} {isMobileMenuOpen && (
- - Menu - + Menu @@ -272,8 +192,7 @@ export default function Header() {
- {user.name} ( - {user.role === "doctor" ? "Doctor" : "Patient"}) + {user.name} ({user.role === "doctor" ? "Doctor" : "Patient"})