diff --git a/frontend/components/layout/navbar.tsx b/frontend/components/layout/navbar.tsx index 227bff4..da4ed99 100644 --- a/frontend/components/layout/navbar.tsx +++ b/frontend/components/layout/navbar.tsx @@ -1,6 +1,7 @@ "use client" +import { useState } from "react" import Link from "next/link" -import { Music, User, ChevronDown } from "lucide-react" +import { Music, User, ChevronDown, Menu, X } from "lucide-react" import { Button } from "@/components/ui/button" import { SearchDialog } from "@/components/ui/search-dialog" import { NotificationBell } from "@/components/notifications/notification-bell" @@ -14,66 +15,67 @@ import { } from "@/components/ui/dropdown-menu" import { useAuth } from "@/contexts/auth-context" +const browseLinks = [ + { href: "/shows", label: "Shows" }, + { href: "/venues", label: "Venues" }, + { href: "/songs", label: "Songs" }, + { href: "/performances", label: "Top Performances" }, + { href: "/tours", label: "Tours" }, + { href: "/videos", label: "Videos" }, +] + export function Navbar() { const { user, logout } = useAuth() + const [mobileMenuOpen, setMobileMenuOpen] = useState(false) + return (
-
-
- - - - Elmeg - +
+ {/* Logo - always visible */} + + + Elmeg + + + {/* Desktop Navigation */} +
-
-
+ + About + + + + {/* Right side - search, theme, auth */} +
+
- +
+ + {/* Mobile menu button */} +
+ + {/* Mobile Menu */} + {mobileMenuOpen && ( +
+
+ {/* Mobile search */} +
+ +
+ + {/* Mobile nav links */} + + + {/* Mobile auth */} +
+ {user ? ( +
+
{user.email}
+ {(user.role === 'admin' || user.role === 'moderator') && ( + setMobileMenuOpen(false)} + > + Moderation + + )} + setMobileMenuOpen(false)} + > + Profile + + setMobileMenuOpen(false)} + > + Settings + + +
+ ) : ( +
+ setMobileMenuOpen(false)}> + + + setMobileMenuOpen(false)}> + + +
+ )} +
+
+
+ )}
) }