fix: Implement more APIs

This commit is contained in:
Alexander Polynomdivision
2018-09-24 13:36:42 +02:00
parent 11bbdc627f
commit 8b6bfb681b
9 changed files with 117 additions and 46 deletions

View File

@@ -9,12 +9,12 @@ import TableCell from "@material-ui/core/TableCell";
import { IReviewMetadata } from "../models/review";
interface IProps {
reviewMeta: () => IReviewMetadata;
reviewMeta: IReviewMetadata;
}
export default class SummaryTable extends React.Component<IProps> {
render() {
const meta = this.props.reviewMeta();
const { reviewMeta } = this.props;
return <Table>
<TableHead>
@@ -26,11 +26,11 @@ export default class SummaryTable extends React.Component<IProps> {
<TableBody>
<TableRow>
<TableCell>Korrekt</TableCell>
<TableCell numeric>{meta.correct}</TableCell>
<TableCell numeric>{reviewMeta.correct}</TableCell>
</TableRow>
<TableRow>
<TableCell>Falsch</TableCell>
<TableCell numeric>{meta.wrong}</TableCell>
<TableCell numeric>{reviewMeta.wrong}</TableCell>
</TableRow>
</TableBody>
</Table>;

View File

@@ -45,45 +45,49 @@ export default class Application extends React.Component<IProps> {
}
}
getLevels(): Promise<ILevel[]> {
console.log("STUB: Application::getLevels");
getLevels = (): Promise<ILevel[]> => {
return new Promise((res, rej) => {
// TODO: Actually fetch them from somewhere
setTimeout(() => {
const levels = [{
name: "Der Bauer auf dem Feld",
desc: "So fängt alles an: Du bist ein einfacher Bauer und musst dich die Karriereleiter mit deinen freshen Latein-Skills hinaufarbeiten",
level: 1,
done: true,
}, {
name: "???",
desc: "Warum schreibe ich überhaupt was?dsd dddddddddddddddddddddd",
level: 2,
done: false,
}];
res(levels);
}, 2000);
fetch(`${BACKEND_URL}/api/levels`, {
headers: new Headers({
"Content-Type": "application/json",
"Token": this.props.user.sessionToken,
}),
}).then(resp => resp.json(), err => rej(err))
.then(data => {
if (data.error === "0") {
res(data.data.levels);
} else {
rej(data);
}
});
});
}
getLastReview = (): IReviewMetadata => {
console.log("STUB: Application::getLastReview");
// TODO: Actually fetch this
// TODO: Stub
return {} as IReviewMetadata;
getLastReview = (): Promise<IReviewMetadata> => {
return new Promise((res, rej) => {
fetch(`${BACKEND_URL}/api/user/lastReview`, {
headers: new Headers({
"Content-Type": "application/json",
"Token": this.props.user.sessionToken,
}),
}).then(resp => resp.json(), err => rej(err))
.then(data => {
if (data.error === "0") {
res(data.data);
} else {
rej(data);
}
});
});
}
setLastReview = (meta: IReviewMetadata) => {
console.log("STUB: Application::setLastReview");
// TODO: Send this to the server
this.setState({
lastReview: meta,
});
/* this.setState({
* lastReview: meta,
* }); */
}
getReviewQueue = (): Promise<IVocab[]> => {