import React, { useState } from "react"; import * as Yup from "yup"; import { useHistory } from "react-router-dom"; import { Link as RouterLink } from "react-router-dom"; import { toast } from "react-toastify"; import { Formik, Form, Field } from "formik"; import { Avatar, Button, CssBaseline, TextField, Grid, Box, Typography, Container, InputAdornment, IconButton, Link } from '@material-ui/core'; import { PersonOutlineOutlined, Visibility, VisibilityOff } from '@material-ui/icons'; import { makeStyles } from "@material-ui/core/styles"; import { i18n } from "../../translate/i18n"; import api from "../../services/api"; import toastError from "../../errors/toastError"; // const Copyright = () => { // return ( // // {"Copyleft "} // // Canove // {" "} // {new Date().getFullYear()} // {"."} // // ); // }; const useStyles = makeStyles(theme => ({ 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(3), }, submit: { margin: theme.spacing(3, 0, 2), }, })); const UserSchema = Yup.object().shape({ name: Yup.string() .min(2, "Too Short!") .max(50, "Too Long!") .required("Required"), password: Yup.string().min(5, "Too Short!").max(50, "Too Long!"), email: Yup.string().email("Invalid email").required("Required"), }); const SignUp = () => { const classes = useStyles(); const history = useHistory(); const initialState = { name: "", email: "", password: "" }; const [showPassword, setShowPassword] = useState(false); const [user] = useState(initialState); const handleSignUp = async values => { try { await api.post("/auth/signup", values); toast.success(i18n.t("signup.toasts.success")); history.push("/login"); } catch (err) { toastError(err); } }; return (
{i18n.t("signup.title")} {/*
*/} { setTimeout(() => { handleSignUp(values); actions.setSubmitting(false); }, 400); }} > {({ touched, errors, isSubmitting }) => ( setShowPassword((e) => !e)} > {showPassword ? : } ) }} /> {i18n.t("signup.buttons.login")} )}
{/* */}
); }; export default SignUp;