'use client'; import Link from 'next/link' import { useContext, useEffect, useState } from 'react'; import { auth } from '../../services/firebase'; import { createUserWithEmailAndPassword } from 'firebase/auth'; import { useRouter } from 'next/navigation'; import { AuthContext } from '../components/AuthContext' // import NetflixLogo from '../../../public/images/netflix_logo.svg' const Register = () => { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [isValidEmail, setIsValidEmail] = useState(false); const [isValidPassword, setIsValidPassword] = useState(false); const [isPasswordVisible, setIsPasswordVisible] = useState(true); const router = useRouter() const user = useContext(AuthContext); useEffect(() => { // Check if user is authenticated if (!user) { // Redirect or perform any necessary action } else { // User is authenticated, continue with desired logic router.push('/profiles'); } }, [user]); useEffect(() => { debounce(emailValidation()); }, [email]); useEffect(() => { debounce(passwordValidation()); }, [password]); const emailValidation = () => { const emailRegex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; if (!email || emailRegex.test(email) === false) { setIsValidEmail(false); return false; } setIsValidEmail(true); return true; }; const passwordValidation = () => { const passwordRegex = /^(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[A-Za-z\d!@#$%^&*()_+]{8,}$/i; if (!password || passwordRegex.test(password) === false) { setIsValidPassword(false) return false } setIsValidPassword(true) return true } // Utility FN ยท Mover a carpeta utils/utils.js const debounce = fn => { let id = null; return (...args) => { if (id) { clearTimeout(id); } id = setTimeout(() => { fn(...args); id = null; }, 300); }; }; const registerUser = () => { console.log(email); console.log(password); console.log(isValidEmail); console.log(isValidPassword); if (isValidEmail && isValidPassword) { createUserWithEmailAndPassword(auth, email, password) .then(() => { console.log('User account created & signed in!'); // Navigate to the home screen or other desired screen router.push('/browse'); }) .catch(error => { console.error(error); // Display an error message to the user }); } }; return (

Register

{ e.preventDefault(); registerUser(); }}>
setEmail(e.target.value)} />
setPassword(e.target.value)} />
Do you have an account?{' '}

Login

); } export default Register;