import React, { useEffect } from "react"; import Logo from "../Layout/Logo"; import Button, { ToggleButton } from "../Input/Button"; import { LogIn as LogInIcon, LogOut as LogOutIcon, Settings as SettingsIcon, Radio as LiveIcon, } from "lucide-react"; import SearchBar from "../Input/SearchBar"; import AuthModal from "../Auth/AuthModal"; import { useAuthModal } from "../../hooks/useAuthModal"; import { useAuth } from "../../context/AuthContext"; import QuickSettings from "../Settings/QuickSettings"; import { useSidebar } from "../../context/SidebarContext"; import { useQuickSettings } from "../../context/QuickSettingsContext"; interface NavbarProps { variant?: "home" | "default"; } const Navbar: React.FC = ({ variant = "default" }) => { const { isLoggedIn } = useAuth(); const { showAuthModal, setShowAuthModal } = useAuthModal(); const { showSideBar } = useSidebar(); const { showQuickSettings, setShowQuickSettings } = useQuickSettings(); const handleLogout = () => { console.log("Logging out..."); fetch("/api/logout") .then((response) => response.json()) .then((data) => { console.log(data); window.location.reload(); }); }; const handleQuickSettings = () => { setShowQuickSettings(!showQuickSettings); }; // Keyboard shortcut to toggle sidebar useEffect(() => { const handleKeyPress = (e: KeyboardEvent) => { if (e.key === "q" && document.activeElement == document.body) handleQuickSettings(); }; document.addEventListener("keydown", handleKeyPress); return () => { document.removeEventListener("keydown", handleKeyPress); }; }, [showQuickSettings]); return ( ); }; export default Navbar;