skyouc
10 天以前 3bbc9acc8603c6727fb979fddbbd0a7ff474b8ed
rsf-admin/src/App.jsx
@@ -28,22 +28,39 @@
  DATA_PROVIDER_SPRING,
} from "./config/setting";
import ResourceContent from "./page/ResourceContent";
import { getSystemInfo, getSystemDicts } from "@/api/auth";
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) => {
    if (locale === "en") {
      return import("./i18n/en").then((messages) => messages.default);
    }
    // fallback
    return zhMessages;
    return { ...chineseMessages, ...zhMessages };
  },
  // default
  // 'en',
  resolveBrowserLocale("zh", { fullLocale: true }),
  "zh",
  [
    { 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
@@ -51,13 +68,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));
@@ -74,6 +96,7 @@
        lightTheme={lightTheme}
        darkTheme={darkTheme}
        defaultTheme={DEFAULT_THEME_MODE}
        theme={theme}
        i18nProvider={i18nProvider}
        dataProvider={DataProvider(DATA_PROVIDER_SPRING)}
        loginPage={Login}
@@ -108,4 +131,4 @@
  </StoreContextProvider>
);
export default AppWrapper;
export default AppWrapper;