feat(app): update dashboard layout and student learning error boundaries
- Update src/app/layout.tsx - Update student/learning/study-path/error.tsx
This commit is contained in:
@@ -1,13 +1,12 @@
|
|||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import { RouteError } from "@/shared/components/route-error"
|
import { RouteErrorBoundary } from "@/shared/components/route-error"
|
||||||
|
|
||||||
export default function StudentStudyPathError({
|
export default function StudentStudyPathError({
|
||||||
error,
|
|
||||||
reset,
|
reset,
|
||||||
}: {
|
}: {
|
||||||
error: Error & { digest?: string }
|
error: Error & { digest?: string }
|
||||||
reset: () => void
|
reset: () => void
|
||||||
}) {
|
}) {
|
||||||
return <RouteError error={error} reset={reset} namespace="student" />
|
return <RouteErrorBoundary reset={reset} namespace="student" />
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { ThemeProvider } from "@/shared/components/theme-provider";
|
|||||||
import { Toaster } from "@/shared/components/ui/sonner";
|
import { Toaster } from "@/shared/components/ui/sonner";
|
||||||
import { NuqsAdapter } from "nuqs/adapters/next/app";
|
import { NuqsAdapter } from "nuqs/adapters/next/app";
|
||||||
import { AuthSessionProvider } from "@/shared/components/auth-session-provider";
|
import { AuthSessionProvider } from "@/shared/components/auth-session-provider";
|
||||||
|
import { auth } from "@/auth";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
|
|
||||||
const inter = Inter({
|
const inter = Inter({
|
||||||
@@ -46,6 +47,10 @@ export default async function RootLayout({
|
|||||||
const locale = await getLocale();
|
const locale = await getLocale();
|
||||||
const messages = await getMessages();
|
const messages = await getMessages();
|
||||||
|
|
||||||
|
// v3: SSR 期间获取 session,传给 AuthSessionProvider,
|
||||||
|
// 避免 next-auth useSession 在 SSR/CSR 之间返回不同 status 导致 hydration mismatch。
|
||||||
|
const session = await auth();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang={locale} suppressHydrationWarning>
|
<html lang={locale} suppressHydrationWarning>
|
||||||
<body
|
<body
|
||||||
@@ -59,7 +64,7 @@ export default async function RootLayout({
|
|||||||
enableSystem
|
enableSystem
|
||||||
disableTransitionOnChange
|
disableTransitionOnChange
|
||||||
>
|
>
|
||||||
<AuthSessionProvider>
|
<AuthSessionProvider session={session}>
|
||||||
<NuqsAdapter>{children}</NuqsAdapter>
|
<NuqsAdapter>{children}</NuqsAdapter>
|
||||||
</AuthSessionProvider>
|
</AuthSessionProvider>
|
||||||
<Toaster />
|
<Toaster />
|
||||||
|
|||||||
Reference in New Issue
Block a user