import { authClient } from "@/src/lib/auth-client"; import { useLocalSearchParams, useRouter } from "expo-router"; import { useState } from "react"; import { ActivityIndicator, Pressable, Text, View } from "react-native"; import { useTranslation } from "react-i18next"; import { Ionicons } from "@expo/vector-icons"; export default function VerifyEmailScreen() { const router = useRouter(); const { t } = useTranslation(); const { email } = useLocalSearchParams<{ email: string }>(); const [isResending, setIsResending] = useState(false); const [resent, setResent] = useState(false); const [error, setError] = useState(null); async function handleResend() { if (!email) return; setIsResending(true); setError(null); try { await authClient.sendVerificationEmail({ email, callbackURL: "/" }); setResent(true); setTimeout(() => setResent(false), 4000); } catch { setError(t('verifyEmail.resendError')); } finally { setIsResending(false); } } return ( {t('verifyEmail.title')} {t('verifyEmail.hint')} {email && ( {email} )} {error && ( {error} )} {resent && ( {t('verifyEmail.resentConfirm')} )} {isResending ? ( ) : ( {t('verifyEmail.resend')} )} router.replace("/(auth)/login")} className="py-2 active:opacity-60" > {t('verifyEmail.backToLogin')} ); }