"use client"; import { useState, useEffect } from "react"; import { useRouter } from "next/navigation"; import ThemeMode from "@/components/ThemeMode"; import { useGlobalContext } from "@/providers/GlobalProvider"; import { getUserSession } from "@/utils/user"; import { getUserInfo } from "@/api/client"; export default function Header({ name }: { name: string }) { const router = useRouter(); const { loginShow, changeLoginShow,uploadUserInfoState } = useGlobalContext(); const [isLogin, setIsLogin] = useState(false); const [nickName, setNickName] = useState(""); const Login = () => { changeLoginShow(true); }; useEffect(() => { if (getUserSession()) { getUserInfo().then((data) => { if (data.code === 0) { setIsLogin(true); setNickName(data.data.nickname); } }); } }, [loginShow,uploadUserInfoState]); return (
logo

{name}

{isLogin && ( router.push("/user-center.html")} className="cursor-pointer ease-in-out p-2 rounded-md text-gray-700 dark:text-gray-200 hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-800" > {nickName} )} {!isLogin && ( )}
); }