Client - disable registration - fix #36

This commit is contained in:
Sam
2019-08-25 12:50:42 +02:00
parent 5b6a94fb85
commit a7de5dd52c
14 changed files with 111 additions and 80 deletions

View File

@ -1,6 +1,9 @@
import React from 'react'
import { Helmet } from 'react-helmet'
import { history } from '../../index'
import { isRegistrationAllowed } from '../../utils'
export default function Form (props) {
return (
<div>
@ -11,71 +14,85 @@ export default function Form (props) {
{`${props.formType.charAt(0).toUpperCase()}${props.formType.slice(1)}`}
</h1>
<div className="container">
<div className="row">
<div className="col-md-3" />
<div className="col-md-6">
<hr /><br />
<form onSubmit={event =>
props.handleUserFormSubmit(event, props.formType)}
>
{props.formType === 'register' &&
<div className="form-group">
<input
className="form-control input-lg"
name="username"
placeholder="Enter a username"
required
type="text"
value={props.userForm.username}
onChange={props.onHandleFormChange}
/>
</div>
}
<div className="form-group">
<input
className="form-control input-lg"
name="email"
placeholder="Enter an email address"
required
type="email"
value={props.userForm.email}
onChange={props.onHandleFormChange}
/>
</div>
<div className="form-group">
<input
className="form-control input-lg"
name="password"
placeholder="Enter a password"
required
type="password"
value={props.userForm.password}
onChange={props.onHandleFormChange}
/>
</div>
{props.formType === 'register' &&
<div className="form-group">
<input
className="form-control input-lg"
name="password_conf"
placeholder="Enter the password confirmation"
required
type="password"
value={props.userForm.password_conf}
onChange={props.onHandleFormChange}
/>
</div>
}
<input
type="submit"
className="btn btn-primary btn-lg btn-block"
value="Submit"
/>
</form>
<div className="row">
<div className="col-md-3" />
<div className="col-md-6">
<hr /><br />
{props.formType === 'register' && !isRegistrationAllowed ? (
<div className="card">
<div className="card-body">Registration is disabled.</div>
<div className="card-body">
<button
type="submit"
className="btn btn-secondary btn-lg btn-block"
onClick={() => history.go(-1)}
>Back
</button>
</div>
</div>
) : (
<form onSubmit={event =>
props.handleUserFormSubmit(event, props.formType)}
>
{props.formType === 'register' &&
<div className="form-group">
<input
className="form-control input-lg"
name="username"
placeholder="Enter a username"
required
type="text"
value={props.userForm.username}
onChange={props.onHandleFormChange}
/>
</div>
}
<div className="form-group">
<input
className="form-control input-lg"
name="email"
placeholder="Enter an email address"
required
type="email"
value={props.userForm.email}
onChange={props.onHandleFormChange}
/>
</div>
<div className="form-group">
<input
className="form-control input-lg"
name="password"
placeholder="Enter a password"
required
type="password"
value={props.userForm.password}
onChange={props.onHandleFormChange}
/>
</div>
{props.formType === 'register' &&
<div className="form-group">
<input
className="form-control input-lg"
name="password_conf"
placeholder="Enter the password confirmation"
required
type="password"
value={props.userForm.password_conf}
onChange={props.onHandleFormChange}
/>
</div>
}
<input
type="submit"
className="btn btn-primary btn-lg btn-block"
value="Submit"
/>
</form>
)}
</div>
<div className="col-md-3" />
</div>
<div className="col-md-3" />
</div>
</div>
</div>
)
}

View File

@ -7,6 +7,8 @@ export const thunderforestApiKey = `${
process.env.REACT_APP_THUNDERFOREST_API_KEY
}`
export const gpxLimit = `${process.env.REACT_APP_GPX_LIMIT_IMPORT}`
export const isRegistrationAllowed =
process.env.REACT_APP_ALLOW_REGISTRATION !== 'false'
export const isLoggedIn = () => !!window.localStorage.authToken