diff --git a/src/pages/VerifyEmail.js b/src/pages/VerifyEmail.js index 05aa5e5..608aacf 100644 --- a/src/pages/VerifyEmail.js +++ b/src/pages/VerifyEmail.js @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useState, useRef } from 'react'; import { useNavigate, useSearchParams, Link } from 'react-router-dom'; import axios from 'axios'; import { Button } from '../components/ui/button'; @@ -15,9 +15,16 @@ const VerifyEmail = () => { const [status, setStatus] = useState('loading'); const [message, setMessage] = useState(''); const token = searchParams.get('token'); + const hasVerified = useRef(false); useEffect(() => { const verifyEmail = async () => { + // Prevent double execution in React StrictMode + if (hasVerified.current) { + return; + } + hasVerified.current = true; + if (!token) { setStatus('error'); setMessage('Invalid verification link.');