import { signOut } from "next-auth/react"; import { useEffect, useState } from "react"; 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 NewLinkModal from "./ModalContent/NewLinkModal"; import NewCollectionModal from "./ModalContent/NewCollectionModal"; import Link from "next/link"; import UploadFileModal from "./ModalContent/UploadFileModal"; import { dropdownTriggerer } from "@/lib/client/utils"; import MobileNavigation from "./MobileNavigation"; export default function Navbar() { const { settings, updateSettings } = useLocalSettingsStore(); const { account } = useAccountStore(); 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); document.body.style.overflow = "auto"; }, [width, router]); const toggleSidebar = () => { setSidebar(false); document.body.style.overflow = "auto"; }; const [newLinkModal, setNewLinkModal] = useState(false); const [newCollectionModal, setNewCollectionModal] = useState(false); const [uploadFileModal, setUploadFileModal] = useState(false); return (
{ setSidebar(true); document.body.style.overflow = "hidden"; }} className="text-neutral btn btn-square btn-sm btn-ghost lg:hidden sm:inline-flex" >
  • { (document?.activeElement as HTMLElement)?.blur(); setNewLinkModal(true); }} tabIndex={0} role="button" > New Link
  • { (document?.activeElement as HTMLElement)?.blur(); setUploadFileModal(true); }} tabIndex={0} role="button" > Upload File
  • { (document?.activeElement as HTMLElement)?.blur(); setNewCollectionModal(true); }} tabIndex={0} role="button" > New Collection
  • (document?.activeElement as HTMLElement)?.blur()} tabIndex={0} role="button" > Settings
  • { (document?.activeElement as HTMLElement)?.blur(); handleToggle(); }} tabIndex={0} role="button" > Switch to {settings.theme === "light" ? "Dark" : "Light"}
  • { (document?.activeElement as HTMLElement)?.blur(); signOut(); }} tabIndex={0} role="button" > Logout
{sidebar ? (
) : null} {newLinkModal ? ( setNewLinkModal(false)} /> ) : undefined} {newCollectionModal ? ( setNewCollectionModal(false)} /> ) : undefined} {uploadFileModal ? ( setUploadFileModal(false)} /> ) : undefined}
); }