import React, { useState } from "react"; import { Link } from "react-router-dom"; import { useAuth } from "../../contexts/AuthContext"; import TextInput from "../common/inputs/TextInput"; import { Button } from "../common/ui/button"; import { ROUTES } from "../../lib/constants"; const Signup = () => { const { register } = useAuth(); const [formData, setFormData] = useState({ username: "", email: "", password: "", confirmPassword: "", }); const [errors, setErrors] = useState({}); const validateForm = () => { const newErrors = {}; if (formData.password !== formData.confirmPassword) { newErrors.confirmPassword = "Passwords don't match"; } if (formData.password.length < 6) { newErrors.password = "Password must be at least 6 characters"; } setErrors(newErrors); return Object.keys(newErrors).length === 0; }; const handleChange = (e) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value, })); // Clear error when user types if (errors[name]) { setErrors((prev) => ({ ...prev, [name]: "" })); } }; const handleSubmit = async (event) => { event.preventDefault(); if (validateForm()) { const { confirmPassword, ...registrationData } = formData; await register(registrationData); } }; return (
Already have an account?{" "} Login