From 84c5b778039102a77b7fda2ddcab2bbf70085bdc Mon Sep 17 00:00:00 2001 From: polwex Date: Thu, 29 May 2025 15:49:50 +0700 Subject: good progress good progrss --- src/components/Navbar.tsx | 202 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 src/components/Navbar.tsx (limited to 'src/components/Navbar.tsx') diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx new file mode 100644 index 0000000..68375ae --- /dev/null +++ b/src/components/Navbar.tsx @@ -0,0 +1,202 @@ +"use client"; + +import { useState } from "react"; +import { Link } from "waku"; +import { Button } from "@/components/ui/button"; +import { Avatar, AvatarFallback } from "@/components/ui/avatar"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuSeparator, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { Menu, X, BookOpen, BarChart2, Settings } from "lucide-react"; + +interface NavbarProps { + user?: { id: number; name: string } | null; +} + +export default function Navbar({ user }: NavbarProps) { + const [isMenuOpen, setIsMenuOpen] = useState(false); + + const toggleMenu = () => setIsMenuOpen(!isMenuOpen); + + // Get initials for avatar + const getInitials = (name: string) => { + return name + .split(" ") + .map(n => n[0]) + .join("") + .toUpperCase(); + }; + + return ( + + ); +} \ No newline at end of file -- cgit v1.2.3