App.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { BrowserRouter } from "react-router-dom";
  2. import { ConfigProvider } from "antd";
  3. import { IntlProvider } from "react-intl";
  4. import { Provider } from "react-redux";
  5. import { pdfjs } from "react-pdf";
  6. import mermaid from "mermaid";
  7. import Router from "./Router";
  8. import store from "./store";
  9. import locales, {
  10. get as getLocale,
  11. DEFAULT as DEFAULT_LOCALE,
  12. } from "./locales";
  13. import { API_HOST } from "./request";
  14. import onLoad from "./load";
  15. import "./App.css";
  16. pdfjs.GlobalWorkerOptions.workerSrc = `${API_HOST}/assets/pdf.worker.min.js`;
  17. mermaid.initialize({ startOnLoad: true });
  18. onLoad();
  19. const lang = getLocale();
  20. const i18n = locales(lang);
  21. function Widget() {
  22. return (
  23. <Provider store={store}>
  24. <IntlProvider
  25. messages={i18n.messages}
  26. locale={lang}
  27. defaultLocale={DEFAULT_LOCALE}
  28. >
  29. <ConfigProvider locale={i18n.antd}>
  30. <BrowserRouter basename={process.env.PUBLIC_URL}>
  31. <Router />
  32. </BrowserRouter>
  33. </ConfigProvider>
  34. </IntlProvider>
  35. </Provider>
  36. );
  37. }
  38. export default Widget;