diff --git a/src/components/layout/nav-bar.tsx b/src/components/layout/nav-bar.tsx index 3229aa7..288ad7e 100644 --- a/src/components/layout/nav-bar.tsx +++ b/src/components/layout/nav-bar.tsx @@ -21,11 +21,18 @@ import { ThemeToggle } from "../theme-toggle"; import { Button } from "../ui/button"; export function NavBar() { - const { data: session, status } = useSession(); + const { data: session, status, update } = useSession(); const router = useRouter(); const pathname = usePathname(); const user = session?.user; + useEffect(() => { + // 当路由变化时,尝试更新 session + if (pathname === "/dashboard" || pathname.startsWith("/dashboard/")) { + update(); + } + }, [pathname, update]); + const handleSignOut = async () => { await signOut({ redirect: false }); router.refresh();