import React, { useState, useEffect } from "react"; import { makeStyles } from "@material-ui/core/styles"; import DialogTitle from "@material-ui/core/DialogTitle"; import DialogContent from "@material-ui/core/DialogContent"; import Dialog from "@material-ui/core/Dialog"; import Divider from "@material-ui/core/Divider"; import ButtonSecondary from "../Input/ButtonSecondary"; import IconButton from "@material-ui/core/IconButton"; import TextField from "@material-ui/core/TextField"; import CloseIcon from "@material-ui/icons/Close"; import { useDispatch } from "react-redux"; import { showRegulamin } from "../../actions/toggles"; import { tryRegister, notification } from "../../actions"; import InputAdornment from "@material-ui/core/InputAdornment"; import AccountCircle from "@material-ui/icons/AccountCircle"; import BusinessIcon from "@material-ui/icons/Business"; import EmailIcon from "@material-ui/icons/Email"; import LockIcon from "@material-ui/icons/Lock"; import Link from "@material-ui/core/Link"; import validator from "validator"; import { useHistory } from "react-router-dom"; export default function RegisterDialog(props) { const initialFormData = { firstname: "", lastname: "", companyName: "", adress: "", NIP: "", email: "", password: "", repeatPassword: "", firstnameError: false, lastnameError: false, companyNameError: false, adressError: false, NIPError: false, emailError: false, passwordError: false, repeatPasswordError: false, }; const [formData, setFormData] = useState(initialFormData); const dispatch = useDispatch(); const history = useHistory(); useEffect(() => { document.title = "Menui - Rejestracja"; }); // STYLES const loginStyles = makeStyles((theme) => ({ root: { textAlign: "center", "& .MuiPaper-root": { backgroundColor: "#262626", color: "#bbbbbb", }, "& .MuiFormHelperText-root": { color: "#606060", textAlign: "center", }, }, closeButton: { color: "#bbbbbb", position: "absolute", right: theme.spacing(1), top: theme.spacing(1), }, textInput: { marginTop: "20px", marginBottom: "10px", width: "90%", "& .MuiInputBase-root": { color: "#01c3a9", }, "& .MuiInputLabel-root": { color: "#bbbbbb", }, }, })); const loginClass = loginStyles(); // HANDLERS const handleRegulaminClick = (event) => { event.preventDefault(); dispatch(showRegulamin()); }; const validateForm = () => { var valid; const validations = { firstname: !validator.isEmpty(formData.firstname), lastname: !validator.isEmpty(formData.lastname), companyName: !validator.isEmpty(formData.companyName), adress: !validator.isEmpty(formData.adress), NIP: !validator.isEmpty(formData.NIP), email: validator.isEmail(formData.email), password: validator.isLength(formData.password, { min: 8, max: 128, }), repeatPassword: formData.password === formData.repeatPassword, }; setFormData({ ...formData, firstnameError: !validations.firstname, lastnameError: !validations.lastname, companyNameError: !validations.companyName, adressError: !validations.adress, NIPError: !validations.NIP, emailError: !validations.email, passwordError: !validations.password, repeatPasswordError: !validations.repeatPassword, }); valid = validations.firstname && validations.lastname && validations.email && validations.password && validations.repeatPassword && validations.companyName && validations.adress && validations.NIP; return valid; }; const sendForm = (form) => { if (validateForm()) { dispatch(tryRegister(form)); } else { dispatch(notification("Proszę poprawić formularz.", "error")); } }; // CODE return (
history.goBack()} open={true} aria-labelledby="login-title" > Rejestracja history.goBack()} aria-label="close" >
), }} error={formData.firstnameError} onChange={(event) => (formData.firstname = event.target.value)} /> ), }} error={formData.lastnameError} onChange={(event) => (formData.lastname = event.target.value)} /> ), }} error={formData.companyNameError} onChange={(event) => (formData.companyName = event.target.value)} /> ), }} error={formData.adressError} onChange={(event) => (formData.adress = event.target.value)} /> ), }} error={formData.NIPError} onChange={(event) => (formData.NIP = event.target.value)} /> ), }} error={formData.emailError} onChange={(event) => (formData.email = event.target.value)} /> ), }} error={formData.passwordError} onChange={(event) => (formData.password = event.target.value)} /> ), }} error={formData.repeatPasswordError} onChange={(event) => (formData.repeatPassword = event.target.value) } />

Rejestracja oznacza akceptację{" "} handleRegulaminClick(event)}> regulaminu

sendForm(formData)} text="Zarejestruj" />
); }