import FormMessage from "@/components/form-message"; import ResetPasswordForm from "@/features/auth/components/reset-password-form"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { createClient } from "@/utils/supabase/server"; import { redirect } from "next/navigation"; /** * [비밀번호 재설정 페이지] * * 이메일 링크를 타고 들어온 사용자가 새 비밀번호를 설정하는 페이지입니다. * - URL에 포함된 토큰 검증은 Middleware 및 Auth Confirm Route에서 선행됩니다. * - 유효한 세션(Recovery Mode)이 없으면 로그인 페이지로 리다이렉트됩니다. */ export default async function ResetPasswordPage({ searchParams, }: { searchParams: Promise<{ message?: string }>; }) { const params = await searchParams; const supabase = await createClient(); const { data: { user }, } = await supabase.auth.getUser(); if (!user) { redirect(`/login`); } const { message } = params; return (