i701 f3f5800df6
Some checks failed
Build and Push Docker Images / Build and Push Docker Images (push) Failing after 1m29s
feat: implement checkTempIdOrPhone function and update OTP verification logic
2025-04-18 13:50:58 +05:00

45 lines
1.5 KiB
TypeScript

import VerifyRegistrationOTPForm from "@/components/auth/verify-registration-otp-form";
import ClientErrorMessage from "@/components/client-error-message";
import { checkIdOrPhone, checkTempIdOrPhone } from "@/queries/authentication";
import { tryCatch } from "@/utils/tryCatch";
import Image from "next/image";
import { redirect } from "next/navigation";
import React from "react";
export default async function VerifyRegistrationOTP({
searchParams,
}: {
searchParams: Promise<{ phone_number: string }>;
}) {
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 (
<div className="bg-gray-100 dark:bg-black w-full h-screen flex items-center justify-center font-sans">
<div className="flex flex-col items-center justify-center w-full h-full ">
<Image alt="Sar Link Logo" src="/logo.png" width={100} height={100} />
<div className="mt-4 flex flex-col items-center justify-center">
<h4 className="font-bold text-xl text-gray-600">SAR Link Portal</h4>
<p className="text-gray-500">
Pay for your devices and track your bills.
</p>
</div>
<VerifyRegistrationOTPForm phone_number={phone_number} />
</div>
</div>
);
}