'use client'; import Link from 'next/link'; import { useContext, useEffect } from 'react'; import AppMenu from './AppMenu'; import { LayoutContext } from './context/layoutcontext'; import { MenuProvider } from './context/menucontext'; import { classNames } from 'primereact/utils'; const AppSidebar = (props: { sidebarRef: React.RefObject }) => { const { setLayoutState, layoutConfig, layoutState } = useContext(LayoutContext); const anchor = () => { setLayoutState((prevLayoutState) => ({ ...prevLayoutState, anchored: !prevLayoutState.anchored })); }; useEffect(() => { return () => { resetOverlay(); }; }, []); const resetOverlay = () => { if (layoutState.overlayMenuActive) { setLayoutState((prevLayoutState) => ({ ...prevLayoutState, overlayMenuActive: false })); } }; let timeout = null; const onMouseEnter = () => { if (!layoutState.anchored) { if (timeout) { clearTimeout(timeout); timeout = null; } setLayoutState((prevLayoutState) => ({ ...prevLayoutState, sidebarActive: true })); } }; const onMouseLeave = () => { if (!layoutState.anchored) { if (!timeout) { timeout = setTimeout( () => setLayoutState((prevLayoutState) => ({ ...prevLayoutState, sidebarActive: false })), 300 ); } } }; return ( <>
BTPXpress Logo
BTPXpress Logo BTPXpress
); }; export default AppSidebar;