feat: Hide the drawer button during levels and reviews

This commit is contained in:
Alexander Polynomdivision
2018-09-15 14:26:22 +02:00
parent 46c8ef9215
commit 7e9c1463f5
4 changed files with 104 additions and 13 deletions

View File

@@ -16,6 +16,8 @@ interface IProps {
id: string;
levelVocab: (id: string) => IVocab[];
drawerButtonState: (state: boolean) => void;
};
interface IState {
@@ -33,6 +35,9 @@ export default class LevelPage extends React.Component<IProps, IState> {
constructor(props: any) {
super(props);
// Hide the drawer
this.props.drawerButtonState(false);
this.state = {
currentVocab: this.props.levelVocab(this.props.id)[0],
lookedAt: [0],

View File

@@ -12,13 +12,19 @@ import Paper from "@material-ui/core/Paper";
import { Redirect } from "react-router-dom";
import { IVocab, ReviewMode, VocabType } from "../models/vocab";
import { ReviewType } from "../models/review";
import { levW } from "../algorithms/levenshtein";
import { LEVENSHTEIN_MAX_DISTANCE } from "../config";
interface IProps {
levelId: number;
vocabByLevel: (level: number) => IVocab[];
levelId?: number;
vocabByLevel?: (level: number) => IVocab[];
vocabByQueue?: () => IVocab[];
reviewType: ReviewType;
drawerButtonState: (state: boolean) => void;
}
interface IState {
@@ -51,8 +57,29 @@ export default class ReviewPage extends React.Component<IProps, IState> {
popoverColor: "red",
};
const { vocabByLevel, levelId } = this.props;
this.vocab = vocabByLevel(levelId);
// Hide the drawer button
this.props.drawerButtonState(false);
// Get the correct vocabulary
const { reviewType, vocabByLevel, levelId, vocabByQueue } = this.props;
switch (reviewType) {
case ReviewType.LEVEL:
if (!vocabByLevel || !levelId) {
alert("[ReviewPage::constructor] vocabByLevel or levelId undefined");
} else {
this.vocab = vocabByLevel(levelId);
}
break;
case ReviewType.QUEUE:
if (!vocabByQueue) {
alert("[ReviewPage::constructor] vocabByQueue undefined");
} else {
this.vocab = vocabByQueue();
}
break;
}
}
currentVocab = () => {
@@ -108,7 +135,7 @@ export default class ReviewPage extends React.Component<IProps, IState> {
) : undefined
}
<Grid container justify="center">
<Grid item>
<Grid item style={{ width: "100%" }}>
<Card>
<CardContent>
<Grid container direction="column">