import { useState, useContext } from 'react'; import { AuthContext } from '../AuthContext'; import { inputCls, labelCls } from '../constants'; export default function Register({ onRegisterSuccess }) { const [formData, setFormData] = useState({ username: '', email: '', password: '', confirmPassword: '' }); const [error, setError] = useState(''); const [success, setSuccess] = useState(''); const [loading, setLoading] = useState(false); const { register } = useContext(AuthContext); const handleSubmit = async (e) => { e.preventDefault(); setError(''); setSuccess(''); if (formData.password !== formData.confirmPassword) { setError('Passwords do not match'); return; } if (formData.password.length < 6) { setError('Password must be at least 6 characters'); return; } setLoading(true); const result = await register(formData.username, formData.email, formData.password); if (result.success) { setSuccess(result.message); setFormData({ username: '', email: '', password: '', confirmPassword: '' }); onRegisterSuccess?.(); } else { setError(result.error); } setLoading(false); }; return (
Brew Journal

Create Account

Start tracking your coffee journey

{error && (
{error}
)} {success && (
{success}
)}
setFormData({ ...formData, username: e.target.value })} required />
setFormData({ ...formData, email: e.target.value })} required />
setFormData({ ...formData, password: e.target.value })} required />
setFormData({ ...formData, confirmPassword: e.target.value })} required />
); }