diff --git a/src/components/Navbar.js b/src/components/Navbar.js index e187efd..4b700fc 100644 --- a/src/components/Navbar.js +++ b/src/components/Navbar.js @@ -1,8 +1,8 @@ -import React from 'react'; +import React, { useState } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { useAuth } from '../context/AuthContext'; import { Button } from './ui/button'; -import { ChevronDown } from 'lucide-react'; +import { ChevronDown, Menu, X } from 'lucide-react'; import { DropdownMenu, DropdownMenuContent, @@ -13,6 +13,7 @@ import { const Navbar = () => { const { user, logout } = useAuth(); const navigate = useNavigate(); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); // LOAF logo (local) const loafLogo = `${process.env.PUBLIC_URL}/loaf-logo.png`; @@ -24,8 +25,8 @@ const Navbar = () => { return ( <> - {/* Top Header - Member Actions */} -
+ {/* Top Header - Member Actions (Desktop Only) */} +
{user && ( Welcome, {user.first_name} @@ -65,7 +66,9 @@ const Navbar = () => { LOAF Logo -
+ + {/* Mobile Menu Drawer */} + {isMobileMenuOpen && ( +
+ {/* Backdrop */} +
setIsMobileMenuOpen(false)} + /> + + {/* Drawer */} +
+ {/* Header */} +
+
+ LOAF + + LOAF + +
+ +
+ + {/* User Info */} + {user && ( +
+

+ Welcome, +

+

+ {user.first_name} {user.last_name} +

+
+ )} + + {/* Navigation Links */} + + + {/* Footer Actions */} +
+ {user?.role === 'admin' && ( + setIsMobileMenuOpen(false)} + > + + + )} + + setIsMobileMenuOpen(false)} + > + + + + +
+
+
+ )} ); };