import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { signOut } from "next-auth/react"; import { faPlus, faBars } from "@fortawesome/free-solid-svg-icons"; import { useEffect, useState } from "react"; import Dropdown from "@/components/Dropdown"; import ClickAwayHandler from "@/components/ClickAwayHandler"; import Sidebar from "@/components/Sidebar"; import { useRouter } from "next/router"; import SearchBar from "@/components/SearchBar"; import useAccountStore from "@/store/account"; import ProfilePhoto from "@/components/ProfilePhoto"; import useWindowDimensions from "@/hooks/useWindowDimensions"; import ToggleDarkMode from "./ToggleDarkMode"; import useLocalSettingsStore from "@/store/localSettings"; import New from "./Modals/New"; export default function Navbar() { const { settings, updateSettings } = useLocalSettingsStore(); const { account } = useAccountStore(); const [profileDropdown, setProfileDropdown] = useState(false); const router = useRouter(); const [sidebar, setSidebar] = useState(false); const { width } = useWindowDimensions(); const handleToggle = () => { if (settings.theme === "dark") { updateSettings({ theme: "light" }); } else { updateSettings({ theme: "dark" }); } }; useEffect(() => { setSidebar(false); }, [width]); useEffect(() => { setSidebar(false); }, [router]); const toggleSidebar = () => { setSidebar(!sidebar); }; return (
setProfileDropdown(!profileDropdown)} id="profile-dropdown" >
{profileDropdown ? ( { setProfileDropdown(!profileDropdown); handleToggle(); }, }, { name: "Logout", onClick: () => { signOut(); setProfileDropdown(!profileDropdown); }, }, ]} onClickOutside={(e: Event) => { const target = e.target as HTMLInputElement; if (target.id !== "profile-dropdown") setProfileDropdown(false); }} className="absolute top-11 right-0 z-20 w-36" /> ) : null} {sidebar ? (
) : null}
); }