import { Form } from "@remix-run/react"; import { Logo } from "./icons/Logo"; import { AddMemoryModal } from "./memories/AddMemory"; import { Button } from "./ui/button"; import { User } from "@supermemory/shared/types"; import { ChevronDown, Cloud, Github, LifeBuoy, LogOut, Moon, Sun, User as UserIcon, } from "lucide-react"; import { Avatar, AvatarFallback, AvatarImage } from "~/components/ui/avatar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "~/components/ui/dropdown-menu"; import { useKeyboardShortcut } from "~/lib/hooks/use-keyboard"; import { Theme, useTheme } from "~/lib/theme-provider"; function Navbar({ user }: { user?: User }) { const [theme, setTheme] = useTheme(); const toggleTheme = (e: Event) => { e.preventDefault(); setTheme(theme === Theme.LIGHT ? Theme.DARK : Theme.LIGHT); }; useKeyboardShortcut( ["c"], () => { console.log("Add Memory"); document.getElementById("add-memory-button")?.click(); }, "Add Memory", ); return (
{user ? ( <>
{user.firstName?.charAt(0) ?? "?"} {user.lastName?.charAt(0) ?? "?"}
{user.firstName} {user.lastName}
{user.email}
Profile ⇧⌘P {theme === Theme.LIGHT ? ( ) : ( )} {theme === Theme.LIGHT ? "Dark mode" : "Light mode"} Support API GitHub
) : (
)}
); } export default Navbar;