import { Form } from '@remix-run/react'; import { useEffect, useState } from 'react'; import { Button } from './Button'; type ResendEmailButtonProps = { retryIn: number; email: string; title?: string; disabled?: boolean; }; export function ResendEmailButton({ retryIn, email, title = 'Resend verification email', disabled, }: ResendEmailButtonProps) { const [retryCountdown, setRetryCountdown] = useState(retryIn); useEffect(() => { setRetryCountdown(retryIn); }, [retryIn]); useEffect(() => { if (retryCountdown === 0) return; const timeout = setTimeout(() => { const newRetryCountdown = retryCountdown - 1; setRetryCountdown(newRetryCountdown); }, 1000); return () => { clearTimeout(timeout); }; }, [retryCountdown]); return (