After the registration user will be logged in and redirected to survey (fix #77 and fix #74)

This commit is contained in:
cami 2021-07-06 02:12:32 +02:00
parent 942c22c515
commit 18f76d8cd6
2 changed files with 14 additions and 2 deletions

View file

@ -6,6 +6,8 @@ import InputField from "../InputField";
import SubmitField from "../SubmitField";
import "../Input.css";
import ErrorMessage from "../ErrorMessage";
import { login, useAuth } from "../../auth/AuthProvider";
import { Redirect } from "react-router-dom";
export default function Login() {
const [username, setUsername] = useState("");
@ -16,6 +18,8 @@ export default function Login() {
const [isStatusOk, setIsStatusOk] = useState("");
const [isLoggedIn] = useAuth();
const onSubmitClick = (e) => {
e.preventDefault();
let opts = {
@ -37,6 +41,14 @@ export default function Login() {
} else if (response.status === 200) {
response.json().then((resp) => {
setMessage(resp.message);
fetch("/api/login", {
method: "post",
body: JSON.stringify(opts),
}).then((response) => {
response.json().then((token) => {
login(token);
});
});
});
setIsStatusOk(true);
}
@ -73,7 +85,7 @@ export default function Login() {
<SubmitField onClick={onSubmitClick} LabelName="Registrieren" />
</form>
{isStatusOk && <p>{message}</p>}
{isLoggedIn && <Redirect to="/umfrage" />}
</div>
<Footer />
</>