/**
 * Reset Password Page
 *
 * RSC composition pattern:
 * 1. PageQuery executes to get ViewData
 * 2. Client component renders with ViewData
 */

import { ResetPasswordPageQuery } from '@/lib/page-queries/auth/ResetPasswordPageQuery';
import { ResetPasswordClient } from './ResetPasswordClient';

export default async function ResetPasswordPage({
  searchParams,
}: {
  searchParams: Promise<URLSearchParams>;
}) {
  // Execute PageQuery
  const params = await searchParams;
  const queryResult = await ResetPasswordPageQuery.execute(params);

  if (queryResult.isErr()) {
    // Handle query error
    return (
      <div className="min-h-screen bg-deep-graphite flex items-center justify-center">
        <div className="text-red-400">Failed to load reset password page</div>
      </div>
    );
  }

  const viewData = queryResult.unwrap();

  // Render client component with ViewData
  return <ResetPasswordClient viewData={viewData} />;
}