"use client"; import { Menu } from "lucide-react"; import Link from "next/link"; import { Fragment, createContext, useContext, useState } from "react"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import { AnimatePresence, FadeIn } from "@/components/ui/fade-in"; interface NavbarMobileContextProps { isOpen: boolean; toggleNavbar: () => void; } const NavbarContext = createContext( undefined, ); export const NavbarProvider = ({ children }: { children: React.ReactNode }) => { const [isOpen, setIsOpen] = useState(false); const toggleNavbar = () => { setIsOpen((prevIsOpen) => !prevIsOpen); }; // @ts-ignore return ( {children} ); }; export const useNavbarMobile = (): NavbarMobileContextProps => { const context = useContext(NavbarContext); if (!context) { throw new Error( "useNavbarMobile must be used within a NavbarMobileProvider", ); } return context; }; export const NavbarMobileBtn: React.FC = () => { const { toggleNavbar } = useNavbarMobile(); return ( ); }; export const NavbarMobile = () => { const { isOpen, toggleNavbar } = useNavbarMobile(); return ( {isOpen && ( {navMenu.map((menu, i) => ( {menu.child ? ( {menu.name} {menu.child.map((child, j) => ( {child.name} ))} ) : ( {menu.name} )} ))} )} ); }; export const navMenu = [ { name: "_hello", path: "/", }, { name: "_blogs", path: "/blogs", }, { name: "_docs", child: [ { name: "Introduction to better-auth", path: "/docs/index", }, { name: "Setting up the better-auth", path: "/docs/setting-up", }, { name: "Adding a plug", path: "/docs/plugins", }, { name: "Org support", path: "/docs/org-support", }, { name: "Compoent UI libs", path: "/docs/lib-ui-componnts", }, { name: "Adapter Suppor", path: "/docs/adapter-support", }, { name: "Framework Support", path: "/docs/framework-support", }, ], }, ];