import React, { useState } from 'react'; import axiosapi from '../api/axiosapi'; import TextField from '@material-ui/core/TextField'; import Typography from '@material-ui/core/Typography'; import CssBaseline from '@material-ui/core/CssBaseline'; import Container from '@material-ui/core/Container'; import Button from '@material-ui/core/Button'; import { makeStyles } from '@material-ui/core/styles'; const useStyles = makeStyles((theme) => ({ // Styles for various elements paper: { marginTop: theme.spacing(8), display: 'flex', flexDirection: 'column', alignItems: 'center', }, avatar: { margin: theme.spacing(1), backgroundColor: theme.palette.secondary.main, }, form: { width: '100%', marginTop: theme.spacing(1), }, submit: { margin: theme.spacing(3, 0, 2), }, })); const Signup = () => { const classes = useStyles(); const [formData, setFormData] = useState({ email: '', username: '', password: '', }); const [error, setError] = useState(null); const [isSubmitting, setIsSubmitting] = useState(false); const handleSubmit = async (e) => { e.preventDefault(); setIsSubmitting(true); setError(null); try { axiosapi.createUser(formData); } catch (error) { console.error('Error creating user:', error); setError('Registration failed. Please try again.'); // Set an error message } finally { setIsSubmitting(false); } }; const handleChange = (e) => { const { name, value } = e.target; setFormData({ ...formData, [name]: value }); }; return (
Sign Up
{error && {error}}
); }; export default Signup;