render() {
return (
- <div className="container-lg">
+ <div className="login container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
<div>
<form onSubmit={linkEvent(this, this.handleLoginSubmit)}>
<h5>{i18n.t("login")}</h5>
- <div className="form-group row">
+ <div className="mb-3 row">
<label
className="col-sm-2 col-form-label"
htmlFor="login-email-or-username"
/>
</div>
</div>
- <div className="form-group row">
+ <div className="mb-3 row">
<label className="col-sm-2 col-form-label" htmlFor="login-password">
{i18n.t("password")}
</label>
</div>
</div>
{this.state.showTotp && (
- <div className="form-group row">
+ <div className="mb-3 row">
<label
className="col-sm-6 col-form-label"
htmlFor="login-totp-token"
</div>
</div>
)}
- <div className="form-group row">
+ <div className="mb-3 row">
<div className="col-sm-10">
<button type="submit" className="btn btn-secondary">
{this.state.loginRes.state == "loading" ? (
toast(i18n.t("enter_two_factor_code"), "info");
}
- i.setState({ loginRes: { state: "empty" } });
+ i.setState({ loginRes: { state: "failed", msg: loginRes.msg } });
break;
}
i.props.history.action === "PUSH"
? i.props.history.back()
- : i.props.history.push("/");
+ : i.props.history.replace("/");
break;
}