diff --git a/app/login/page.jsx b/app/login/page.jsx index 2f098aa..063a4d2 100644 --- a/app/login/page.jsx +++ b/app/login/page.jsx @@ -5,6 +5,7 @@ import { useRouter } from 'next/navigation' import { FiMail, FiLock, FiUser, FiLogIn, FiUserPlus, FiSun, FiMoon } from 'react-icons/fi' import { motion } from 'framer-motion' import Link from 'next/link' +import Turnstile from '@marsidev/react-turnstile' export default function LoginPage() { const [email, setEmail] = useState('') @@ -13,6 +14,7 @@ export default function LoginPage() { const [loading, setLoading] = useState(false) const [error, setError] = useState('') const [theme, setTheme] = useState('light') + const [captchaToken, setCaptchaToken] = useState(null) const router = useRouter() useEffect(() => { @@ -38,7 +40,8 @@ export default function LoginPage() { if (error) throw error router.push('/dashboard') } else { - const { error } = await supabase.auth.signUp({ email, password }) + if (!captchaToken) throw new Error('Please complete captcha') + const { error } = await supabase.auth.signUp({ email, password, options: { captchaToken } }) if (error) throw error alert('Check your email for confirmation!') } @@ -135,6 +138,15 @@ export default function LoginPage() { )} + {!isLogin && ( +
+ setCaptchaToken(token)} + /> +
+ )} +