mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-06-07 18:04:56 -04:00
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:
parent
4e18ce38f3
commit
762a0a850e
1051 changed files with 0 additions and 35 deletions
|
@ -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>
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue