From 05c170f472e5191e74961f3821063dde29531b86 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 19 七月 2025 15:48:19 +0800
Subject: [PATCH] no message
---
rsf-admin/src/App.jsx | 107 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 71 insertions(+), 36 deletions(-)
diff --git a/rsf-admin/src/App.jsx b/rsf-admin/src/App.jsx
index 9b38f36..c8601b9 100644
--- a/rsf-admin/src/App.jsx
+++ b/rsf-admin/src/App.jsx
@@ -1,5 +1,5 @@
import React, { useState, useRef, useEffect, useMemo } from "react";
-import { Route } from 'react-router-dom'
+import { Route } from "react-router-dom";
import {
Admin,
Resource,
@@ -9,46 +9,82 @@
StoreContextProvider,
resolveBrowserLocale,
} from "react-admin";
-import polyglotI18nProvider from 'ra-i18n-polyglot';
-import englishMessages from './i18n/en';
+import polyglotI18nProvider from "ra-i18n-polyglot";
+import englishMessages from "./i18n/en";
+import zhMessages from "./i18n/zh";
import { Layout } from "./layout";
import AuthProvider from "./config/authProvider";
import DataProvider from "./config/dataProvider";
-import Dashboard from "./page/dashboard/Dashboard";
-import Settings from "./page/settings/Settings";
-import Login from "./page/login/Login";
-import * as Common from './utils/common'
-import { themes } from './themes/themes';
-import { SPA_NAME, SPA_VERSION, DEFAULT_THEME_NAME, DEFAULT_THEME_MODE, DATA_PROVIDER_SPRING } from "./config/setting";
+import Dashboard from "./page/dashboard";
+import Settings from "./page/settings";
+import Login from "./page/login";
+import * as Common from "./utils/common";
+import { themes } from "./themes/themes";
+import {
+ SPA_NAME,
+ SPA_VERSION,
+ DEFAULT_THEME_NAME,
+ DEFAULT_THEME_MODE,
+ DATA_PROVIDER_SPRING,
+} from "./config/setting";
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 => {
- if (locale === 'zh') {
- return import('./i18n/zh').then(messages => messages.default);
+ (locale) => {
+ if (locale === "en") {
+ return import("./i18n/en").then((messages) => messages.default);
}
- // fallback
- return englishMessages;
+ return { ...chineseMessages, ...zhMessages };
},
- // default
- // 'en',
- resolveBrowserLocale('en', { fullLocale: true }),
+ "zh",
[
- { locale: 'en', name: 'English' },
- { locale: 'zh', name: '绠�浣撲腑鏂�' },
+ { 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
allowMissing: true,
- }
+ },
);
+
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 [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));
+ })
+ }, []);
return (
<>
@@ -60,24 +96,23 @@
lightTheme={lightTheme}
darkTheme={darkTheme}
defaultTheme={DEFAULT_THEME_MODE}
+ theme={theme}
i18nProvider={i18nProvider}
dataProvider={DataProvider(DATA_PROVIDER_SPRING)}
loginPage={Login}
dashboard={Dashboard}
>
- {permissions => (
+ {(permissions) => (
<>
- {
- Common.extractNavMenus(permissions)?.map(node => {
- return (
- <Resource
- key={node.id}
- name={node.component}
- {...ResourceContent(node)}
- />
- )
- })
- }
+ {Common.extractNavMenus(permissions)?.map((node) => {
+ return (
+ <Resource
+ key={node.id}
+ name={node.component}
+ {...ResourceContent(node)}
+ />
+ );
+ })}
</>
)}
{/* CustomRoutes don't trigger checkAuth */}
@@ -87,7 +122,7 @@
</CustomRoutes>
</Admin>
</>
- )
+ );
};
const AppWrapper = () => (
--
Gitblit v1.9.1