diff --git a/thoughts-frontend/components/main-nav.tsx b/thoughts-frontend/components/main-nav.tsx index 684b28f..99e6ae9 100644 --- a/thoughts-frontend/components/main-nav.tsx +++ b/thoughts-frontend/components/main-nav.tsx @@ -1,48 +1,92 @@ "use client"; +import { useState } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; +import { Menu } from "lucide-react"; import { cn } from "@/lib/utils"; import { SearchInput } from "./search-input"; +import { Button } from "@/components/ui/button"; +import { + Sheet, + SheetContent, + SheetHeader, + SheetTitle, + SheetTrigger, +} from "@/components/ui/sheet"; interface MainNavProps { isLoggedIn?: boolean; } +const NAV_LINKS = (isLoggedIn: boolean) => [ + { href: "/users/all", label: "Discover" }, + { href: "/about/fediverse", label: "Fediverse" }, + ...(isLoggedIn ? [{ href: "/friends", label: "Friends" }] : []), +]; + export function MainNav({ isLoggedIn }: MainNavProps) { const pathname = usePathname(); + const [open, setOpen] = useState(false); + const links = NAV_LINKS(!!isLoggedIn); + return ( - + <> + {/* Desktop nav */} + + + {/* Mobile hamburger */} + + + + + + + Menu + + +
+ +
+
+
+ ); }