From f70882e49d3cd6deeec75be967365535db2f93b3 Mon Sep 17 00:00:00 2001 From: zirops Date: Wed, 27 Jan 2021 15:49:43 +0100 Subject: user self registration code review 1 --- modern/src/RegisterDialog.js | 45 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'modern/src/RegisterDialog.js') diff --git a/modern/src/RegisterDialog.js b/modern/src/RegisterDialog.js index ecd07ac..5be0a24 100644 --- a/modern/src/RegisterDialog.js +++ b/modern/src/RegisterDialog.js @@ -6,12 +6,12 @@ import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogContentText from '@material-ui/core/DialogContentText'; import TextField from '@material-ui/core/TextField'; -import Alert from '@material-ui/lab/Alert'; +import Snackbar from '@material-ui/core/Snackbar'; -const RegisterDialog = ({ open, onResult }) => { +const RegisterDialog = ({ showDialog, onResult }) => { const [formFields, setFormFields] = useState({}); const [validationErrors, setValidationErrors] = useState({}); - const [errorResponse, setErrorResponse] = useState(null); + const [snackbarOpen, setSnackbarOpen] = useState(false); const handleChange = (event) => { setFormFields({ ...formFields, [event.target.name]: event.target.value }); @@ -19,14 +19,11 @@ const RegisterDialog = ({ open, onResult }) => { } const handleRegister = async (event) => { - event.preventDefault(); - setErrorResponse(null); let objErrors = {}; if (formFields.name.trim() === '') { objErrors.name = true; } - if (! - /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(formFields.email)) { + if (!/(.+)@(.+)\.(.{2,})/.test(formFields.email)) { objErrors.email = true; } if (formFields.password.trim() === '') { @@ -44,21 +41,23 @@ const RegisterDialog = ({ open, onResult }) => { }); if (response.ok) { - onResult(true) - } else { - setErrorResponse(t('errorGeneral')); + showDialog = false; + setSnackbarOpen(true); } } - return ( - { onResult(true) }} message={t('loginCreated')} + /> + } else if (showDialog) { + return { onResult(false) }}> {t('loginRegister')} - - {errorResponse && {errorResponse}} - { autoComplete='name' autoFocus onChange={handleChange} - helperText={validationErrors.name && 'Name is required'} /> - + helperText={validationErrors.name && t('sharedRequired')} /> { value={formFields.email || ''} autoComplete='email' onChange={handleChange} - helperText={validationErrors.email && 'Invalid e-mail'} /> - + helperText={validationErrors.email && t('sharedRequired')} /> { type='password' autoComplete='current-password' onChange={handleChange} - helperText={validationErrors.password && 'Password is required'} /> - + helperText={validationErrors.password && t('sharedRequired')} /> - - ); + ; + } else return null; + }; export default RegisterDialog; -- cgit v1.2.3