feat: Hide the drawer button during levels and reviews
This commit is contained in:
@@ -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],
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user