i701 406733b360
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 5m39s
feat: update authentication layout and forms for improved user experience; add new dependencies and enhance styling
2025-06-09 01:12:16 +05:00

37 lines
1.2 KiB
TypeScript

import { authOptions } from "@/app/auth";
import VerifyRegistrationOTPForm from "@/components/auth/verify-registration-otp-form";
import ClientErrorMessage from "@/components/client-error-message";
import { checkTempIdOrPhone } from "@/queries/authentication";
import { tryCatch } from "@/utils/tryCatch";
import { getServerSession } from "next-auth";
import { redirect } from "next/navigation";
export default async function VerifyRegistrationOTP({
searchParams,
}: {
searchParams: Promise<{ phone_number: string }>;
}) {
const session = await getServerSession(authOptions)
if (session) {
// If the user is already logged in, redirect them to the home page
return redirect("/");
}
const phone_number = (await searchParams).phone_number;
if (!phone_number) {
return redirect("/login");
}
console.log(
"phone number from server page params (verify otp page)",
phone_number,
);
const [error, response] = await tryCatch(
checkTempIdOrPhone({ phone_number }),
);
if (error) {
console.log("Error in checkIdOrPhone", error);
return <ClientErrorMessage message={error.message} />;
}
if (response.otp_verified) redirect("/auth/signin");
return <VerifyRegistrationOTPForm phone_number={phone_number} />;
}