- ;
-}
- {children}
+ <>
+
+
+ >
);
}
diff --git a/src/components/auth/auth-state-sync.tsx b/src/components/auth/auth-state-sync.tsx
new file mode 100644
index 0000000..04f7a54
--- /dev/null
+++ b/src/components/auth/auth-state-sync.tsx
@@ -0,0 +1,20 @@
+"use client";
+
+import { useEffect } from "react";
+import { usePathname, useRouter } from "next/navigation";
+import { useSession } from "next-auth/react";
+
+export function AuthStateSync() {
+ const { data: session, status, update } = useSession();
+ const router = useRouter();
+ const pathname = usePathname();
+
+ useEffect(() => {
+ // 当状态从"loading"变为"authenticated"时,强制刷新路由
+ if (status === "authenticated" && session?.user) {
+ router.refresh();
+ }
+ }, [status, session]);
+
+ return null;
+}
diff --git a/src/components/layout/nav-bar-wrapper.tsx b/src/components/layout/nav-bar-wrapper.tsx
deleted file mode 100644
index b338c55..0000000
--- a/src/components/layout/nav-bar-wrapper.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-"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
+
-
+ {children}
+