SANDRAMSC's picture
Added logo - mapped logo as image in img component
a9c52b4
raw
history blame
3.29 kB
import { useState } from "react";
import { Button } from "./ui/button";
import LogoIcon from "../assets/logo.png";
import { buttonVariants } from "./ui/button";
import {
NavigationMenu,
NavigationMenuItem,
NavigationMenuList,
} from "@/components/ui/navigation-menu";
import {
Sheet,
SheetContent,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet";
import { Menu } from "lucide-react";
import { ModeToggle } from "./mode-toggle";
interface RouteProps {
href: string;
label: string;
}
interface FeatureProps {
image: string;
}
const features: FeatureProps[] = [
{
image: LogoIcon,
},
];
const routeList: RouteProps[] = [
{
href: "#features",
label: "Features",
},
{
href: "#upload",
label: "Upload",
},
];
export const Navbar = () => {
const [isOpen, setIsOpen] = useState<boolean>(false);
return (
<header className="sticky border-b-[1px] top-0 z-40 w-full bg-white dark:border-b-slate-700 dark:bg-background">
<NavigationMenu className="mx-auto">
<NavigationMenuList className="container h-14 px-4 w-screen flex justify-between ">
<NavigationMenuItem className="font-bold flex">
<a
href="/"
className="ml-2 font-bold text-xl flex"
>
{features.map(({ image }: FeatureProps) => (
<img
src={image}
alt="About feature"
className="w-[18px] lg:w-[28px] mx-2"
/>
))}DocVerifyRAG</a>
</NavigationMenuItem>
{/* mobile */}
<span className="flex md:hidden">
<ModeToggle />
<Sheet
open={isOpen}
onOpenChange={setIsOpen}
>
<SheetTrigger className="px-2">
<Menu
className="flex md:hidden h-5 w-5"
onClick={() => setIsOpen(true)}
>
<span className="sr-only">Menu Icon</span>
</Menu>
</SheetTrigger>
<SheetContent side={"left"}>
<SheetHeader>
<SheetTitle className="font-bold text-xl">
DocVerifyRAG
</SheetTitle>
</SheetHeader>
<nav className="flex flex-col justify-center items-center gap-2 mt-4">
<a>
<Button className="w-full md:w-2/3">Join Waitlist</Button>
</a>
</nav>
</SheetContent>
</Sheet>
</span>
{/* desktop */}
<nav className="hidden md:flex gap-2">
{routeList.map((route: RouteProps, i) => (
<a
href={route.href}
key={i}
className={`text-[17px] ${buttonVariants({
variant: "ghost",
})}`}
>
{route.label}
</a>
))}
</nav>
<div className="hidden md:flex gap-2">
<a>
<Button className="w-full ">Join Waitlist
</Button>
</a>
<ModeToggle />
</div>
</NavigationMenuList>
</NavigationMenu>
</header>
);
};