mhsf-dev/apps/www/src/components/feat/navbar/navbar.tsx

68 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-02-15 17:18:58 -06:00
"use client";
2025-02-15 22:56:37 -06:00
import { BrandingGenericIcon } from "@/components/feat/icons/branding-icons";
2025-02-16 13:37:40 -06:00
import {
ContextMenu,
ContextMenuContent,
ContextMenuItem,
ContextMenuSeparator,
ContextMenuTrigger,
} from "@/components/ui/context-menu";
import Github from "@/components/ui/github";
import { ALegacy } from "@/components/util/link";
import { ModeToggle } from "@/components/util/mode-toggle";
2025-02-15 17:18:58 -06:00
import { version } from "@/config/version";
2025-02-15 20:06:35 -06:00
import { useScroll } from "@/lib/hooks/use-scroll";
2025-02-15 17:18:58 -06:00
import { cn } from "@/lib/utils";
2025-02-16 13:37:40 -06:00
import { ServerCrash } from "lucide-react";
2025-02-15 20:06:35 -06:00
import Link from "next/link";
2025-02-15 17:18:58 -06:00
export function NavBar() {
2025-02-15 20:06:35 -06:00
const showBorder = useScroll(40);
2025-02-15 17:18:58 -06:00
return (
<div
className={cn(
2025-02-15 20:06:35 -06:00
"w-screen h-[3rem] grid-cols-3 fixed backdrop-blur-xl z-10 flex",
2025-02-16 13:37:40 -06:00
"items-center justify-self-start me-auto pl-4 flex-1 transition-all justify-between",
2025-02-15 20:06:35 -06:00
showBorder ? "border-b" : ""
2025-02-15 17:18:58 -06:00
)}
>
2025-02-16 13:37:40 -06:00
<span>
<ContextMenu>
<ContextMenuTrigger>
<Link className="gap-5 flex items-center " href="/">
<BrandingGenericIcon className="max-w-[32px] max-h-[32px] mt-0.5" />
<span className="gap-2 flex group hover:text-blue-500 hover:underline transition-all">
<strong className="">MHSF</strong>
<span className="text-muted-foreground group-hover:text-blue-500 transition-all">
v{version}
</span>
</span>
</Link>
</ContextMenuTrigger>
<ContextMenuContent className="overflow-hidden min-w-[300px]">
<ALegacy href="Special:Root">
<ContextMenuItem>
<span className="pl-2 flex gap-2 items-center">
<ServerCrash size={16} /> Go home
</span>
</ContextMenuItem>
</ALegacy>
<ContextMenuSeparator />
<ALegacy href="Special:GitHub">
<ContextMenuItem>
<span className="pl-2 flex gap-2 items-center">
<Github /> Open GitHub
</span>
</ContextMenuItem>
</ALegacy>
</ContextMenuContent>
</ContextMenu>
</span>
<span className="mr-3">
<ModeToggle />
</span>
2025-02-15 17:18:58 -06:00
</div>
);
}