zjj
2025-05-19 83e3d34abd06c0256f61382c4c9cf89c4be109d8
rsf-admin/src/App.jsx
@@ -30,6 +30,20 @@
import ResourceContent from "./page/ResourceContent";
import { getSystemInfo, getSystemDicts, tenants } from "@/api/auth";
import chineseMessages from 'ra-language-chinese';
import { createTheme, ThemeProvider } from '@mui/material/styles';
import { zhCN, frFR, enUS } from '@mui/material/locale';
const getMaterialUILocale = (locale) => {
  switch (locale) {
    case 'en':
      return enUS;
    case 'fr':
      return frFR;
    default:
      return zhCN;
  }
};
const i18nProvider = polyglotI18nProvider(
  (locale) => {
@@ -42,6 +56,12 @@
  [
    { locale: "en", name: "English" },
    { locale: "zh", name: "简体中文" },
    { locale: "jp", name: "日本語" },
    { locale: "kr", name: "한국인" },
    { locale: "ru", name: "Russian" },
    { locale: "lk", name: "Русский" },
    { locale: "es", name: "Española" },
  ],
  {
    // msg in console
@@ -49,13 +69,18 @@
  },
);
const store = localStorageStore(SPA_VERSION, SPA_NAME);
const App = () => {
  const [themeName] = useStore("themeName", DEFAULT_THEME_NAME);
  const lightTheme = themes.find((theme) => theme.name === themeName)?.light;
  const darkTheme = themes.find((theme) => theme.name === themeName)?.dark;
  const [locale, setLocale] = useState('zh');
  const theme = createTheme(
    {
      ...lightTheme
    }, getMaterialUILocale(locale))
  useEffect(() => {
    getSystemInfo().then((data) => {
      localStorage.setItem("system", JSON.stringify(data));
@@ -72,6 +97,7 @@
        lightTheme={lightTheme}
        darkTheme={darkTheme}
        defaultTheme={DEFAULT_THEME_MODE}
        theme={theme}
        i18nProvider={i18nProvider}
        dataProvider={DataProvider(DATA_PROVIDER_SPRING)}
        loginPage={Login}