Next.js App Router requires components using useSearchParams() to be wrapped in a Suspense boundary for static generation. Split login and signup pages into server component wrappers with Suspense and client form components. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
671 B
TypeScript
24 lines
671 B
TypeScript
import { Suspense } from 'react'
|
|
import SignupForm from './SignupForm'
|
|
|
|
export default function SignupPage() {
|
|
return (
|
|
<div className="flex min-h-screen items-center justify-center bg-zinc-50 px-4 dark:bg-zinc-950">
|
|
<Suspense
|
|
fallback={
|
|
<div className="w-full max-w-md space-y-8 text-center">
|
|
<h1 className="text-3xl font-bold tracking-tight text-zinc-900 dark:text-zinc-50">
|
|
WebVNWrite
|
|
</h1>
|
|
<p className="mt-2 text-sm text-zinc-600 dark:text-zinc-400">
|
|
Loading...
|
|
</p>
|
|
</div>
|
|
}
|
|
>
|
|
<SignupForm />
|
|
</Suspense>
|
|
</div>
|
|
)
|
|
}
|