import clsx from "clsx"; import {IconType} from "react-icons"; import {MdSpaceDashboard} from "react-icons/md"; import {BsFileEarmarkText, BsClockHistory, BsPencil, BsGraphUp} from "react-icons/bs"; import {RiLogoutBoxFill} from "react-icons/ri"; import {SlPencil} from "react-icons/sl"; import {FaAward} from "react-icons/fa"; import Link from "next/link"; import {useRouter} from "next/router"; import axios from "axios"; import FocusLayer from '@/components/FocusLayer'; import { preventNavigation } from "@/utils/navigation.disabled"; interface Props { path: string; navDisabled?: boolean; focusMode?: boolean; onFocusLayerMouseEnter?: Function; } interface NavProps { Icon: IconType; label: string; path: string; keyPath: string; disabled?: boolean; } const Nav = ({Icon, label, path, keyPath, disabled = false}: NavProps) => ( {label} ); export default function Sidebar({path, navDisabled = false, focusMode = false, onFocusLayerMouseEnter}: Props) { const router = useRouter(); const logout = async () => { axios.post("/api/logout").finally(() => { setTimeout(() => router.reload(), 500); }); }; const disableNavigation: Boolean = preventNavigation(navDisabled, focusMode); return ( {} : logout} className={clsx( "p-4 px-8 rounded-full flex gap-4 items-center cursor-pointer text-black hover:text-mti-rose transition duration-300 ease-in-out", "absolute bottom-8", )}> Log Out {focusMode && } ); }