index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { initVChartSemiTheme } from '@visactor/vchart-semi-theme';
  2. import React from 'react';
  3. import ReactDOM from 'react-dom/client';
  4. import {BrowserRouter} from 'react-router-dom';
  5. import App from './App';
  6. import HeaderBar from './components/HeaderBar';
  7. import Footer from './components/Footer';
  8. import 'semantic-ui-css/semantic.min.css';
  9. import './index.css';
  10. import {UserProvider} from './context/User';
  11. import {ToastContainer} from 'react-toastify';
  12. import 'react-toastify/dist/ReactToastify.css';
  13. import {StatusProvider} from './context/Status';
  14. import {Layout} from "@douyinfe/semi-ui";
  15. import SiderBar from "./components/SiderBar";
  16. // initialization
  17. initVChartSemiTheme({
  18. isWatchingThemeSwitch: true,
  19. });
  20. const root = ReactDOM.createRoot(document.getElementById('root'));
  21. const {Sider, Content, Header} = Layout;
  22. root.render(
  23. <React.StrictMode>
  24. <StatusProvider>
  25. <UserProvider>
  26. <BrowserRouter>
  27. <Layout>
  28. <Sider>
  29. <SiderBar/>
  30. </Sider>
  31. <Layout>
  32. <Header>
  33. <HeaderBar/>
  34. </Header>
  35. <Content
  36. style={{
  37. padding: '24px',
  38. }}
  39. >
  40. <App/>
  41. </Content>
  42. <Layout.Footer>
  43. <Footer></Footer>
  44. </Layout.Footer>
  45. </Layout>
  46. <ToastContainer/>
  47. </Layout>
  48. </BrowserRouter>
  49. </UserProvider>
  50. </StatusProvider>
  51. </React.StrictMode>
  52. );