"use client"; import "../pages/style/top-bar.css"; import { Button } from "@/components/ui/button"; import { GradientText } from "@/components/ui/gradient-text"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useTheme } from "next-themes"; import { Sun, Moon, User, Settings, LogOut, Bell, PanelsLeftBottom, } from "lucide-react"; import { usePathname, useRouter } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; export function TopBar({ collapsed, onToggleSidebar, }: { collapsed: boolean; onToggleSidebar: () => void; }) { const { theme, setTheme } = useTheme(); const router = useRouter(); const pathname = usePathname(); const [isLogin, setIsLogin] = useState(false); useEffect(() => { const currentUser = localStorage.getItem("currentUser"); if (JSON.parse(currentUser || "{}")?.token) { setIsLogin(true); } else { setIsLogin(false); } }, [pathname]); const handleAnimationEnd = (event: React.AnimationEvent) => { const element = event.currentTarget; element.classList.remove("on"); }; const handleMouseEnter = (event: React.MouseEvent) => { const element = event.currentTarget; element.classList.add("on"); }; return (
{isLogin && ( )}
router.push("/")} onMouseEnter={handleMouseEnter} onAnimationEnd={handleAnimationEnd} >

{isLogin ? (
{/* Notifications */} {/* Theme Toggle */} {/* */} {/* User Menu */} Settings Log out
) : (
router.push("/login")} data-alt="login-button" style={{ pointerEvents: 'auto' }} > Login
router.push("/signup")} data-alt="signup-button" style={{ pointerEvents: 'auto' }} > Sign up
)}
); }