cangku/frontend/src/App.jsx

39 lines
1.1 KiB
JavaScript

import React from 'react';
import { RouterProvider } from 'react-router-dom';
import { ConfigProvider, App as AntdApp } from 'antd';
import { CubeProvider } from '@cubejs-client/react';
import zhCN from 'antd/locale/zh_CN';
import router from './router';
import cubejsApi from './api/cubejs';
import AppVersionGuard from './components/AppVersionGuard';
import { SycmStandaloneFrame, SycmStandalonePage } from './components/Common';
import { sycmAntdTheme } from './design-system/theme';
import './index.css';
function App() {
// 如果 cubejsApi 未定义,显示错误
if (!cubejsApi) {
return (
<SycmStandalonePage centered>
<SycmStandaloneFrame maxWidth={560} className="app-fatal-state">
<h1>Cube.js 客户端初始化失败</h1>
<p>请检查控制台日志</p>
</SycmStandaloneFrame>
</SycmStandalonePage>
);
}
return (
<ConfigProvider locale={zhCN} theme={sycmAntdTheme}>
<AntdApp>
<AppVersionGuard />
<CubeProvider cubejsApi={cubejsApi}>
<RouterProvider router={router} />
</CubeProvider>
</AntdApp>
</ConfigProvider>
);
}
export default App;