import React, { useState } from 'react'; import { useAuth } from '../context/AuthContext'; import { useNavigate } from 'react-router-dom'; // Icons const CloseIcon = ({ className }) => ( ); const GoogleIcon = ({ className }) => ( ); const AtSignIcon = ({ className }) => ( ); const UserIcon = ({ className }) => ( ); const LockIcon = ({ className }) => ( ); const SignupModal = ({ onClose, onLogin }) => { const [formData, setFormData] = useState({ username: '', email: '', password: '', }); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const { register, googleLogin } = useAuth(); const navigate = useNavigate(); const handleChange = (e) => { setFormData({ ...formData, [e.target.name]: e.target.value, }); }; const handleSubmit = async (e) => { e.preventDefault(); setError(''); if (formData.password.length < 6) { setError('Password must be at least 6 characters'); return; } setLoading(true); try { await register(formData); onClose(); navigate('/dashboard'); } catch (err) { setError(err.response?.data?.message || 'Registration failed'); } finally { setLoading(false); } }; const handleGoogleLogin = () => { googleLogin(); }; return (
{/* Container echoing the AuthPage styling */}
{/* Background Gradients */}
{/* Close Button */}
{/* Header */}

Create Account

Sign up to start your journey.

{/* Google Button */}
{/* Separator */}
OR
{/* Error Message */} {error && (
{error}
)} {/* Signup Form */}
{/* Username */}
{/* Email */}
{/* Password */}
{/* Footer */}

Already have an account?{' '}

); }; export default SignupModal;