"use client"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { cn } from "@/lib/utils"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useRouter } from "next/navigation"; import { useEffect, useState } from "react"; import { useMediaQuery } from "usehooks-ts"; export function NavbarMenu({ className, closeSheet, }: { className?: string; closeSheet?: () => void; }) { const _isDesktop = useMediaQuery("(min-width: 1024px)"); const [isDesktop, setIsDesktop] = useState(true); useEffect(() => { setIsDesktop(_isDesktop); }, [_isDesktop]); const pathnames = usePathname(); const pathname = `/${pathnames.split("/")[1]}`; const router = useRouter(); const pages = [ { name: "Workflows", path: "/workflows", }, { name: "Machines", path: "/machines", }, { name: "API Keys", path: "/api-keys", }, { name: "Examples", path: "/examples" } ]; return (
{/*
*/} {isDesktop && ( {pages.map((page) => ( { router.push(page.path); }} > {page.name} ))} )} {/*
*/} {!isDesktop && (
{pages.map((page) => ( { if (!!closeSheet) closeSheet(); }} className="p-2 hover:bg-gray-100/20 hover:underline" > {page.name} ))}
)}
); }