Project page (#4)

* wait for all promisses to be resolved before rendering page

* define hooks inside useEffect
This commit is contained in:
Ruidy 2020-05-05 19:34:17 +02:00 committed by GitHub
parent 17f67ccebf
commit 438295325c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View file

@ -52,6 +52,7 @@ const TicketList: FC<TicketListProps> = ({
}; };
const [showNew, setShowNew] = useState(false); const [showNew, setShowNew] = useState(false);
let filteredTickets = tickets.filter( let filteredTickets = tickets.filter(
(t) => (t) =>
t.status !== "Done" && t.status !== "Done" &&

View file

@ -27,7 +27,6 @@ const ProjectController: FC = () => {
const project: Project = await Projects.get(id); const project: Project = await Projects.get(id);
if (project !== undefined) { if (project !== undefined) {
setProject(project); setProject(project);
setIsLoading(false);
} }
} catch (ex) { } catch (ex) {
setHasError(true); setHasError(true);
@ -42,7 +41,6 @@ const ProjectController: FC = () => {
const response: User[] = await Users.all(); const response: User[] = await Users.all();
if (response !== undefined) { if (response !== undefined) {
setAllUsers(response); setAllUsers(response);
setIsLoading(false);
} }
} catch (ex) { } catch (ex) {
setHasError(true); setHasError(true);
@ -63,16 +61,19 @@ const ProjectController: FC = () => {
setError(ex); setError(ex);
} }
}; };
if (id !== undefined) { if (id !== undefined) {
getProject(id); // wait for all data to be fetched
getAllUsers(); Promise.all([getProject(id), getAllUsers(), getAllProjects()])
getAllProjects(); .then(() => setIsLoading(false))
.catch((ex) => {
setHasError(true);
setError(ex);
});
} else { } else {
setHasError(true); setHasError(true);
setError("Bad Request"); setError("Bad Request");
} }
}, [id, getTokenSilently]); }, [id]);
if (hasError) { if (hasError) {
return <ErrorController error={error} />; return <ErrorController error={error} />;