diff --git a/src/app/()/page.tsx b/src/app/()/page.tsx
index afc01bf..0b8c636 100644
--- a/src/app/()/page.tsx
+++ b/src/app/()/page.tsx
@@ -18,12 +18,12 @@ import {
TypographyLead,
TypographyMuted,
} from "@/components/ui/typography";
-import { NavBar } from "@/components/layout/nav-bar";
+import { NavBarWrapper } from "@/components/layout/nav-bar-wrapper";
export default function HomePage() {
return (
-
+
diff --git a/src/components/layout/nav-bar-wrapper.tsx b/src/components/layout/nav-bar-wrapper.tsx
new file mode 100644
index 0000000..b338c55
--- /dev/null
+++ b/src/components/layout/nav-bar-wrapper.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import { useEffect } from "react";
+import { usePathname, useRouter } from "next/navigation";
+
+import { NavBar } from "./nav-bar";
+
+export function NavBarWrapper() {
+ const router = useRouter();
+ const pathname = usePathname();
+
+ useEffect(() => {
+ if (pathname?.startsWith("/dashboard") || pathname?.startsWith("/admin")) {
+ router.refresh();
+ }
+ }, [pathname, router]);
+
+ return ;
+}
diff --git a/src/components/layout/nav-bar.tsx b/src/components/layout/nav-bar.tsx
index b32deaa..3229aa7 100644
--- a/src/components/layout/nav-bar.tsx
+++ b/src/components/layout/nav-bar.tsx
@@ -21,18 +21,11 @@ import { ThemeToggle } from "../theme-toggle";
import { Button } from "../ui/button";
export function NavBar() {
- const { data: session, status, update } = useSession();
+ const { data: session, status } = 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();