25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

1 yıl önce
1 yıl önce
1 yıl önce
1 yıl önce
1 yıl önce
1 yıl önce
1 yıl önce
1 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { useEffect, useMemo } from 'react';
  2. import { ConfigProvider, ThemeConfig, theme, App as AntdApp } from 'antd'
  3. import zhCN from 'antd/locale/zh_CN';
  4. import enUS from 'antd/locale/en_US';
  5. import { useGlobalStore } from './store/global'
  6. import { i18n } from './utils/i18n';
  7. import Router from './router/router';
  8. function App() {
  9. const { darkMode, lang } = useGlobalStore();
  10. useEffect(() => {
  11. if (darkMode) {
  12. document.body.classList.remove('light');
  13. document.body.classList.add('dark');
  14. } else {
  15. document.body.classList.remove('dark');
  16. document.body.classList.add('light');
  17. }
  18. }, [darkMode]);
  19. useEffect(() => {
  20. i18n.changeLanguage(lang);
  21. }, [lang]);
  22. const components = {
  23. Menu: {
  24. groupTitleFontSize: 12,
  25. itemMarginBlock: 2
  26. }
  27. }
  28. const curTheme: ThemeConfig = useMemo(() => {
  29. if (darkMode) {
  30. return {
  31. token: {
  32. colorPrimary: 'rgb(124, 77, 255)',
  33. colorBgBase: 'rgb(17, 25, 54)',
  34. colorBgContainer: 'rgb(26, 34, 63)',
  35. colorBorder: 'rgba(189, 200, 240, 0.157)',
  36. colorBgTextHover: 'rgba(124, 77, 255, 0.082)',
  37. colorTextHover: 'rgba(124, 77, 255, 0.082)',
  38. controlItemBgActive: 'rgba(33, 150, 243, 0.16)',
  39. colorBgElevated: 'rgb(33, 41, 70)',
  40. },
  41. components,
  42. algorithm: theme.darkAlgorithm,
  43. }
  44. } else {
  45. return {
  46. token: {
  47. colorPrimary: 'rgb(124, 77, 255)',
  48. },
  49. components,
  50. }
  51. }
  52. }, [darkMode]);
  53. return (
  54. <ConfigProvider
  55. theme={curTheme}
  56. locale={lang === 'zh' ? zhCN : enUS}
  57. componentSize='large'
  58. >
  59. <AntdApp>
  60. <Router />
  61. </AntdApp>
  62. </ConfigProvider>
  63. )
  64. }
  65. export default App