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 Image from "next/image";
import { redirect } from "next/navigation";

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>
	);
}
