feat: Remove the login stub
This commit is contained in:
@@ -10,8 +10,10 @@ import Snackbar from "@material-ui/core/Snackbar";
|
||||
|
||||
import { Redirect } from "react-router-dom";
|
||||
|
||||
import { IUser } from "../models/user";
|
||||
|
||||
interface IProps {
|
||||
login: (username: string, password: string) => Promise<boolean>;
|
||||
login: (username: string, password: string) => Promise<IUser | {}>;
|
||||
loggedIn: boolean;
|
||||
}
|
||||
|
||||
@@ -25,14 +27,14 @@ interface IState {
|
||||
open: boolean;
|
||||
}
|
||||
|
||||
export default class LoginPage extends React.Component<{}, IState> {
|
||||
export default class LoginPage extends React.Component<IProps, IState> {
|
||||
constructor(props: any) {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
username: "",
|
||||
password: "",
|
||||
loading: false;
|
||||
loading: false,
|
||||
snack: "",
|
||||
open: false,
|
||||
};
|
||||
@@ -50,12 +52,12 @@ export default class LoginPage extends React.Component<{}, IState> {
|
||||
}
|
||||
|
||||
performLogin() {
|
||||
const load = (loading) => {
|
||||
const load = (loading: boolean) => {
|
||||
this.setState({
|
||||
loading
|
||||
});
|
||||
}
|
||||
const showSnackbar = (msg) => {
|
||||
const showSnackbar = (msg: string) => {
|
||||
this.setState({
|
||||
open: true,
|
||||
snack: msg,
|
||||
@@ -65,9 +67,10 @@ export default class LoginPage extends React.Component<{}, IState> {
|
||||
load(true);
|
||||
|
||||
const { username, password } = this.state;
|
||||
this.props.login(username, password).then((res) => {
|
||||
console.log(this.state);
|
||||
this.props.login(username, password).then((res: IUser) => {
|
||||
// Set the session key
|
||||
window.sessionStorage.setItem("authKey", "test123");
|
||||
window.sessionStorage.setItem("sessionToken", res.sessionToken);
|
||||
}, (err) => {
|
||||
load(false);
|
||||
showSnackbar("Failed to log in");
|
||||
@@ -94,13 +97,15 @@ export default class LoginPage extends React.Component<{}, IState> {
|
||||
<Grid item>
|
||||
<TextField
|
||||
label="Username"
|
||||
onChange={(ev) => this.update("username")} />
|
||||
onChange={this.update("username")}
|
||||
value={this.state.username} />
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<TextField
|
||||
label="Passwort"
|
||||
type="password"
|
||||
onChange={(ev) => this.update("password")} />
|
||||
value={this.state.password}
|
||||
onChange={this.update("password")} />
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<Button
|
||||
|
||||
@@ -7,6 +7,7 @@ import Grid from "@material-ui/core/Grid";
|
||||
import Button from "@material-ui/core/Button";
|
||||
import Typography from "@material-ui/core/Typography";
|
||||
import Popover from "@material-ui/core/Popover";
|
||||
import LinearProgress from "@material-ui/core/LinearProgress";
|
||||
|
||||
import { Redirect } from "react-router-dom";
|
||||
|
||||
@@ -177,6 +178,8 @@ export default class ReviewPage extends React.Component<IProps, IState> {
|
||||
render() {
|
||||
const { question, qtype } = this.state.current;
|
||||
const questionTitle = `${question} (${reviewQTypeToStr(qtype)})`;
|
||||
// TODO:
|
||||
const progress = 50;
|
||||
|
||||
return <div>
|
||||
{
|
||||
@@ -204,6 +207,9 @@ export default class ReviewPage extends React.Component<IProps, IState> {
|
||||
if (ev.key === "Enter")
|
||||
this.checkInput();
|
||||
}} />
|
||||
<LinearProgress
|
||||
variant="determinate"
|
||||
value={progress} />
|
||||
<Popover
|
||||
open={this.state.popoverOpen}
|
||||
anchorOrigin={{
|
||||
|
||||
Reference in New Issue
Block a user