index.js 1.5 KB

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