Files
gridpilot.gg/apps/website/app/auth/reset-password/page.tsx
2026-01-14 02:02:24 +01:00

34 lines
946 B
TypeScript

/**
* 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} />;
}