diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 1b7d1b82..f799042a 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -28,8 +28,9 @@ import './i18n/init'; import { subscribe, unsubscribe } from '@/utils/pluginKit'; import resolveRoutes from '@/router'; +import InitialLoadingPlaceholder from '@/components/InitialLoadingPlaceholder'; -function App() { +function useResolvedRoutes() { const [routes, setRoutes] = useState([]); useEffect(() => { @@ -44,8 +45,14 @@ function App() { }; }, []); + return routes; +} + +function App() { + const routes = useResolvedRoutes(); + if (routes.length === 0) { - return
initializing
; + return ; } const router = createBrowserRouter(routes, { diff --git a/ui/src/components/InitialLoadingPlaceholder/index.tsx b/ui/src/components/InitialLoadingPlaceholder/index.tsx new file mode 100644 index 00000000..28ba1cfd --- /dev/null +++ b/ui/src/components/InitialLoadingPlaceholder/index.tsx @@ -0,0 +1,18 @@ +import { Spinner } from 'react-bootstrap'; + +function InitialLoadingPlaceholder() { + return ( +
+ + Initializing +
+ ); +} + +export default InitialLoadingPlaceholder;