"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { ReactElement, useEffect, useState } from "react"; import { HrefButton } from "./href-button"; import Logo from "./logo"; import { ToggleThemeButton } from "./theme-toggle-button"; import { GithubStar } from "@/app/components/github-star"; import { Card } from "@/app/components/card"; import { cn } from "@/app/common/utils"; import { CommandMenu } from "@/app/components/command-menu"; type Page = { /** * The name of the button for the navbar. */ name: string; /** * The URL to go to. */ url: string; /** * Whether to hide the button on mobile. */ hideOnMobile?: boolean; /** * Whether clicking the button will * open the link in a new tab. */ openInNewTab?: boolean; }; const pages: Page[] = [ { name: "Player", url: "/player" }, { name: "Server", url: "/server/java" }, { name: "Mojang", url: "/mojang/status" }, { name: "API", url: "https://api.mcutils.xyz", hideOnMobile: true, openInNewTab: true }, { name: "Docs", url: "/docs" }, ]; export default function NavBar(): ReactElement { const path: string = usePathname(); const isDocs: boolean = path ? path.includes("/docs") : false; return ( {/* Left */}
{/* Command Menu */}
{/* Links */}
{pages.map((page, index) => { const isActive: boolean = path ? path.includes(page.url) : false; return ( ); })}
{/* Right */}
); }