refactor(ui): optimize initial loading

This commit is contained in:
Ourai Lin
2024-10-20 12:13:23 +08:00
committed by robin
parent 4903382056
commit 6e51cc756d
2 changed files with 27 additions and 2 deletions
+9 -2
View File
@@ -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<RouteObject[]>([]);
useEffect(() => {
@@ -44,8 +45,14 @@ function App() {
};
}, []);
return routes;
}
function App() {
const routes = useResolvedRoutes();
if (routes.length === 0) {
return <div>initializing</div>;
return <InitialLoadingPlaceholder />;
}
const router = createBrowserRouter(routes, {
@@ -0,0 +1,18 @@
import { Spinner } from 'react-bootstrap';
function InitialLoadingPlaceholder() {
return (
<div
style={{
flexGrow: 1,
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
}}>
<Spinner />
<span style={{ marginLeft: 8 }}>Initializing</span>
</div>
);
}
export default InitialLoadingPlaceholder;