import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { HashRouter } from 'react-router-dom';
import { ConfigProvider } from 'antd';
import zhCN from 'antd/locale/zh_CN';
import theme from './theme';
import App from './App';
import { NetworkAccessProvider } from './context/NetworkAccessContext';
import { PortalDataProvider } from './portal/PortalDataContext';

import 'material-symbols/outlined.css';
import '@fontsource/inter/300.css';
import '@fontsource/inter/400.css';
import '@fontsource/inter/500.css';
import '@fontsource/inter/600.css';
import '@fontsource/inter/700.css';
import '@fontsource/manrope/400.css';
import '@fontsource/manrope/500.css';
import '@fontsource/manrope/600.css';
import '@fontsource/manrope/700.css';
import '@fontsource/manrope/800.css';

import './index.css';

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <HashRouter>
      <ConfigProvider theme={theme} locale={zhCN}>
        <NetworkAccessProvider>
          <PortalDataProvider>
            <App />
          </PortalDataProvider>
        </NetworkAccessProvider>
      </ConfigProvider>
    </HashRouter>
  </StrictMode>,
);
