diff --git a/src/components/layout/nav-bar.tsx b/src/components/layout/nav-bar.tsx index 3229aa7..b32deaa 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; + // 在 dashboard 或 admin 页面时强制刷新一次 session + useEffect(() => { + if (pathname?.startsWith("/dashboard") || pathname?.startsWith("/admin")) { + update(); + } + }, [pathname, update]); + const handleSignOut = async () => { await signOut({ redirect: false }); router.refresh();