Skip to content

Instantly share code, notes, and snippets.

@dyarfi
Created September 9, 2020 09:57
Show Gist options
  • Select an option

  • Save dyarfi/240b1e53d503b0fa2f62d8494041e2e9 to your computer and use it in GitHub Desktop.

Select an option

Save dyarfi/240b1e53d503b0fa2f62d8494041e2e9 to your computer and use it in GitHub Desktop.
./components/form/FormLogin.jsx in Next.js with JWT Authentication
function FormLogin({ props }) {
const {
onSubmitHandler,
onChangeHandler,
stateFormData,
stateFormError,
stateFormMessage,
} = props;
return (
<form className="form-login card" method="POST" onSubmit={onSubmitHandler}>
<div className="form-group">
<h2>Login</h2>
<hr />
{stateFormMessage.status === "error" && (
<h4 className="warning text-center">{stateFormMessage.error}</h4>
)}
</div>
<div className="form-group">
<label htmlFor="email">Email</label>
<input
className="form-control"
type="text"
id="email"
name="email"
placeholder="Email"
onChange={onChangeHandler}
value={stateFormData.email.value}
/>
{stateFormError.email && (
<span className="warning">{stateFormError.email.hint}</span>
)}
</div>
<div className="form-group">
<label htmlFor="password">Password</label>
<input
className="form-control"
type="password"
id="password"
name="password"
placeholder="Password"
onChange={onChangeHandler}
value={stateFormData.email.password}
/>
{stateFormError.password && (
<span className="warning">{stateFormError.password.hint}</span>
)}
</div>
<div>
<button type="submit" className="btn btn-block btn-warning">
Login
</button>
</div>
</form>
);
}
export default FormLogin;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment