Skip to content

Commit 23a976c

Browse files
authored
Merge pull request #335 from nishant0708/Navbar
Feat:Want to Fix Nav Bar #331
2 parents ef95100 + ce2e44c commit 23a976c

File tree

2 files changed

+32
-94
lines changed

2 files changed

+32
-94
lines changed

src/components/Navbar.jsx

+32-89
Original file line numberDiff line numberDiff line change
@@ -38,70 +38,43 @@ const Navbar = () => {
3838
<NavItem to="/about" icon={<IconAbout />}>About</NavItem>
3939
<NavItem to="/news" icon={<IconNews />}>News</NavItem>
4040
<NavItem to="/rateus" icon={<IconRateUs />}>RateUs</NavItem>
41-
{/* Conditionally render "My Canteen" button */}
4241
{canteenId && (
4342
<NavItem to={`/section/${canteenId}`} icon={<IconCanteen />}>My&nbsp;Canteen</NavItem>
4443
)}
4544
</div>
4645
</div>
4746

48-
49-
<div className="ml-16 flex gap-6 items-baseline space-x-4 ">
50-
<NavItem to="/home" className="nav-item" icon={<IconHome />}>Home</NavItem>
51-
<NavItem to="/about" className="nav-item" icon={<IconAbout />}>About</NavItem>
52-
<NavItem to="/news" className="nav-item" icon={<IconNews />}>News</NavItem>
53-
<NavItem to="/rateus" className="nav-item" icon={<IconRateUs />}>RateUs</NavItem>
47+
<div className="hidden md:flex items-center gap-5">
48+
<button onClick={toggleTheme} className="p-2 rounded focus:outline-none text-4xl border-none outline-none">
49+
{theme === 'dark' ? '🌞' : '🌙'}
50+
</button>
51+
<div>
52+
<Link to="/">
53+
<button className={`py-1 px-2 rounded w-full h-auto text-l relative z-0 rounded-lg transition-all duration-200 hover:scale-110 ${theme === 'dark' ? 'bg-white text-black' : 'bg-green-400 hover:bg-green-600 hover:shadow-green text-white'}`}>
54+
Log out
55+
</button>
56+
</Link>
5457
</div>
55-
56-
</div>
57-
<div className="hidden md:flex items-center gap-5">
58-
<button onClick={toggleTheme} className="p-2 rounded focus:outline-none text-4xl border-none outline-none ">
59-
{theme === 'dark' ? '🌞' : '🌙'}
60-
</button>
61-
<div>
62-
<Link to="/">
63-
<button
64-
65-
className={`py-1 px-2 rounded w-full h-auto text-l relative z-0 rounded-lg transition-all duration-200 hover:scale-110 ${theme === 'dark' ? 'bg-white text-black' : 'bg-green-400 hover:bg-green-600 hover:shadow-green text-white'}`}
58+
</div>
6659

67-
>
68-
Log out
69-
</button>
70-
</Link>
60+
<div className="-mr-2 flex md:hidden">
61+
<button onClick={toggleTheme} className="p-2 rounded focus:outline-none text-2xl border-none outline-none">
62+
{theme === 'dark' ? '🌞' : '🌙'}
63+
</button>
64+
<button
65+
onClick={toggleMenu}
66+
className="inline-flex items-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:bg-gray-700 focus:text-white"
67+
aria-expanded="false"
68+
>
69+
{isOpen ? (
70+
<IoClose className="text-white" />
71+
) : (
72+
<GiHamburgerMenu className="text-white" />
73+
)}
74+
</button>
7175
</div>
7276
</div>
73-
<div className="-mr-2 flex md:hidden">
74-
<button onClick={toggleTheme} className="p-2 rounded focus:outline-none text-2xl border-none outline-none ">
75-
{theme === 'dark' ? '🌞' : '🌙'}
76-
</button>
77-
<button
78-
onClick={toggleMenu}
79-
className="inline-flex items-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:bg-gray-700 focus:text-white"
80-
aria-expanded="false"
81-
>
82-
{isOpen ? (
83-
<IoClose className="text-white" />
84-
) : (
85-
<GiHamburgerMenu className="text-white" />
86-
)}
87-
</button>
88-
</div>
8977
</div>
90-
</div>
91-
<AnimatePresence>
92-
{isOpen && (
93-
<motion.div
94-
initial={{ opacity: 0, y: -50 }}
95-
animate={{ opacity: 1, y: 0 }}
96-
exit={{ opacity: 0, y: -50 }}
97-
className="md:hidden absolute left-0 w-full flex flex-col items-center justify-center"
98-
>
99-
<div className="w-[100%] bg-[#152146] px-[20%] pt-2 pb-3 space-y-1 mt-1 dark:bg-teal-900">
100-
<MobileNavItem to="/home">Home</MobileNavItem>
101-
<MobileNavItem to="/about">About us</MobileNavItem>
102-
<MobileNavItem to="/news">News</MobileNavItem>
103-
<MobileNavItem to="/contact">Contact</MobileNavItem>
104-
10578

10679
<AnimatePresence>
10780
{isOpen && (
@@ -116,15 +89,12 @@ const Navbar = () => {
11689
<MobileNavItem to="/about">About us</MobileNavItem>
11790
<MobileNavItem to="/news">News</MobileNavItem>
11891
<MobileNavItem to="/contact">Contact</MobileNavItem>
119-
<MobileNavItem to="/rateus">RateUs</MobileNavItem>
120-
{/* Conditionally render "My Canteen" button */}
92+
<MobileNavItem to="/rateus">RateUs</MobileNavItem>
12193
{canteenId && (
12294
<MobileNavItem to={`/section/${canteenId}`}>My Canteen</MobileNavItem>
12395
)}
12496
<MobileNavItem to="/">
125-
<button
126-
className={`rounded transition duration-300 ease-in-out transform hover:scale-105 ${theme === 'dark' ? 'bg-white text-black' : 'bg-green-500 hover:bg-green-700 text-white py-1 px-2'}`}
127-
>
97+
<button className={`rounded transition duration-300 ease-in-out transform hover:scale-105 ${theme === 'dark' ? 'bg-white text-black' : 'bg-green-500 hover:bg-green-700 text-white py-1 px-2'}`}>
12898
Log out
12999
</button>
130100
</MobileNavItem>
@@ -134,58 +104,31 @@ const Navbar = () => {
134104
</AnimatePresence>
135105
</nav>
136106
</>
137-
<MobileNavItem to="/rateus">Rateus</MobileNavItem>
138-
139-
<MobileNavItem to="/">
140-
<Link to="/">
141-
<button
142-
143-
className={`rounded transition duration-300 ease-in-out transform hover:scale-105 ${theme === 'dark' ? 'bg-white text-black' : 'bg-green-500 hover:bg-green-700 text-white py-1 px-2'}`}
144-
145-
>
146-
Log out
147-
</button>
148-
</Link>
149-
</MobileNavItem>
150-
</div>
151-
</motion.div>
152-
)}
153-
</AnimatePresence>
154-
</div>
155-
</nav>
156-
</>
157107
);
158108
};
159109

160110
const NavItem = ({ icon, to, children }) => {
161111
return (
162-
<Link
163-
to={to}
164-
className="flex items-center space-x-2 w-full h-auto relative z-0 rounded-lg transition-all duration-200 hover:scale-125 text-xl block hover:bg-opacity-50"
165-
>
112+
<Link to={to} className="flex items-center space-x-2 w-full h-auto relative z-0 rounded-lg transition-all duration-200 hover:scale-125 text-xl block hover:bg-opacity-50">
166113
{icon && <span>{icon}</span>}
167114
<span>{children}</span>
168115
</Link>
169116
);
170117
};
171118

172119
const MobileNavItem = ({ to, children }) => {
173-
const classname = "z-[2] text-gray-300 text-center hover:text-white block px-3 py-2 rounded-md text-xl font-medium ";
120+
const classname = "z-[2] text-gray-300 text-center hover:text-white block px-3 py-2 rounded-md text-xl font-medium";
174121
return (
175-
<Link
176-
to={to}
177-
className={classname + "hover:bg-gray-700"}
178-
>
122+
<Link to={to} className={classname + " hover:bg-gray-700"}>
179123
{children}
180124
</Link>
181125
);
182126
};
183127

184-
// Define your icon components here
185128
const IconHome = () => <span>🏠</span>;
186129
const IconAbout = () => <span>ℹ️</span>;
187130
const IconNews = () => <span>📰</span>;
188131
const IconRateUs = () => <span></span>;
189-
const IconCanteen = () => <span>🥗</span>
132+
const IconCanteen = () => <span>🥗</span>;
190133

191134
export default Navbar;

src/pages/Signup.jsx

-5
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,6 @@ function Signup() {
7878
localStorage.setItem("token", token);
7979
localStorage.setItem("canteenId", response.data.cantId);
8080
navigate("/home");
81-
} else {
82-
navigate("/");
83-
84-
navigate(`/section/${response.data.cantId}`);
85-
8681
}
8782
} catch (error) {
8883
const errorMessage = error.response?.data?.message || "Failed to create account. Please try again.";

0 commit comments

Comments
 (0)