better linting (#72)

Improve linting and fix linting errors

Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
This commit is contained in:
Philip Molares 2020-05-27 15:43:28 +02:00 committed by GitHub
parent efb6513205
commit eba59ae622
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
70 changed files with 2413 additions and 1867 deletions

View file

@ -1,35 +1,35 @@
import React, {Fragment, useEffect, useState} from "react";
import "./application-loader.scss";
import {LoadingScreen} from "./loading-screen";
import React, { Fragment, useEffect, useState } from 'react'
import './application-loader.scss'
import { LoadingScreen } from './loading-screen'
interface ApplicationLoaderProps {
initTasks: Promise<any>[]
initTasks: Promise<void>[]
}
export const ApplicationLoader: React.FC<ApplicationLoaderProps> = ({children, initTasks}) => {
const [failed, setFailed] = useState<boolean>(false);
const [doneTasks, setDoneTasks] = useState<number>(0);
export const ApplicationLoader: React.FC<ApplicationLoaderProps> = ({ children, initTasks }) => {
const [failed, setFailed] = useState<boolean>(false)
const [doneTasks, setDoneTasks] = useState<number>(0)
useEffect(() => {
setDoneTasks(0);
initTasks.forEach(task => {
(async () => {
try {
await task;
setDoneTasks(prevDoneTasks => {
return prevDoneTasks + 1;
})
} catch (reason) {
setFailed(true);
console.error(reason);
}
})();
})
}, [initTasks]);
const runTask:((task: Promise<void>) => (Promise<void>)) = async (task) => {
await task
setDoneTasks(prevDoneTasks => {
return prevDoneTasks + 1
})
}
return (
doneTasks < initTasks.length || initTasks.length === 0 ?
<LoadingScreen failed={failed}/> :
<Fragment>{children}</Fragment>
);
}
useEffect(() => {
setDoneTasks(0)
for (const task of initTasks) {
runTask(task).catch(reason => {
setFailed(true)
console.error(reason)
})
}
}, [initTasks])
return (
doneTasks < initTasks.length || initTasks.length === 0
? <LoadingScreen failed={failed}/>
: <Fragment>{children}</Fragment>
)
}