fix: Move content into to frontend directory

Doing this BEFORE the merge prevents a lot of merge conflicts.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2022-11-11 11:16:18 +01:00
parent 4e18ce38f3
commit 762a0a850e
No known key found for this signature in database
GPG key ID: B97799103358209B
1051 changed files with 0 additions and 35 deletions

View file

@ -1,53 +0,0 @@
/*
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import type { PropsWithChildren } from 'react'
import React, { Fragment, Suspense, useMemo } from 'react'
import { createSetUpTaskList } from './initializers'
import { LoadingScreen } from './loading-screen/loading-screen'
import { Logger } from '../../utils/logger'
import { useAsync } from 'react-use'
import { ApplicationLoaderError } from './application-loader-error'
const log = new Logger('ApplicationLoader')
/**
* Initializes the application and executes all the setup tasks.
* It renders a {@link LoadingScreen} while this is happening. If there are any error, they will be displayed in the {@link LoadingScreen}.
*
* @param children The children in the React dom that should be shown once the application is loaded.
*/
export const ApplicationLoader: React.FC<PropsWithChildren> = ({ children }) => {
const { error, loading } = useAsync(async () => {
const initTasks = createSetUpTaskList()
for (const task of initTasks) {
try {
await task.task()
} catch (reason: unknown) {
log.error('Error while initialising application', reason)
throw new ApplicationLoaderError(task.name)
}
}
}, [])
const errorBlock = useMemo(() => {
if (error) {
return (
<Fragment>
{error.message}
<br />
For further information look into the browser console.
</Fragment>
)
}
}, [error])
if (loading || !!errorBlock) {
return <LoadingScreen errorMessage={errorBlock} />
} else {
return <Suspense fallback={<LoadingScreen />}>{children}</Suspense>
}
}