Editor Basics (#43)

Add basic editor
This commit is contained in:
Philip Molares 2020-05-29 15:44:45 +02:00 committed by GitHub
parent 557386f78f
commit e2155e735d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
65 changed files with 834 additions and 467 deletions

View file

@ -1,16 +1,16 @@
import React, { Fragment, useEffect, useState } from 'react'
import { useLocation } from 'react-router'
import { setUp } from '../../initializers'
import './application-loader.scss'
import { LoadingScreen } from './loading-screen'
interface ApplicationLoaderProps {
initTasks: Promise<void>[]
}
export const ApplicationLoader: React.FC<ApplicationLoaderProps> = ({ children, initTasks }) => {
export const ApplicationLoader: React.FC = ({ children }) => {
const [failed, setFailed] = useState<boolean>(false)
const [doneTasks, setDoneTasks] = useState<number>(0)
const [initTasks, setInitTasks] = useState<Promise<void>[]>([])
const { pathname } = useLocation()
const runTask:((task: Promise<void>) => (Promise<void>)) = async (task) => {
const runTask = async (task: Promise<void>): Promise<void> => {
await task
setDoneTasks(prevDoneTasks => {
return prevDoneTasks + 1
@ -18,7 +18,12 @@ export const ApplicationLoader: React.FC<ApplicationLoaderProps> = ({ children,
}
useEffect(() => {
setDoneTasks(0)
const baseUrl:string = window.location.pathname.replace(pathname, '') + '/'
console.debug('Base URL is', baseUrl)
setInitTasks(setUp(baseUrl))
}, [pathname])
useEffect(() => {
for (const task of initTasks) {
runTask(task).catch(reason => {
setFailed(true)