"use client"; import React from "react"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { Button } from "@/components/ui/button"; import { FormField } from "@/components/auth/form-field"; import { emailValidationSchema, EmailValidationData, EmailSetupFormProps } from "@/types/auth"; import { useEmailSetup } from "@/hooks/use-auth"; export const EmailSetupForm: React.FC = ({ loginCredentials, onSuccess, onError, onBack, className, }) => { const { setupEmail, loading } = useEmailSetup(); const { register, handleSubmit, formState: { errors, isSubmitting }, getValues, } = useForm({ resolver: zodResolver(emailValidationSchema), mode: "onChange", }); const onSubmit = async (data: EmailValidationData) => { try { if (!loginCredentials) { onError?.("Login credentials not found. Please try logging in again."); return; } const result = await setupEmail(loginCredentials, data); switch (result) { case "otp": onSuccess?.(); break; case "success": onSuccess?.(); break; default: onError?.("Unexpected response from email setup"); } } catch (error: any) { onError?.(error.message || "Email setup failed"); } }; return (
{/* Header */}

Anda perlu memasukkan email baru untuk bisa Login.

Please provide your old and new email addresses for verification.

{/* Old Email Field */} {/* New Email Field */} {/* Action Buttons */}
{onBack && ( )}
); };