From c3d2d07b6853a9f5e18fb87771cf16f513407c06 Mon Sep 17 00:00:00 2001
From: "Apple\\Apple"
Date: Sat, 21 Jun 2025 02:56:38 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A=20refactor:=20Move=20DataDashboard?=
=?UTF-8?q?=20settings=20from=20Operation=20to=20Dashboard=20section?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This commit relocates the DataDashboard settings component from the Operation section to the Dashboard section for better logical organization. The changes include:
- Remove DataDashboard import and component from OperationSetting.js
- Add DataDashboard component to DashboardSetting.js
- Update import path from Operation to Dashboard directory
- Add DataExport related state management in DashboardSetting
This restructuring improves the application's information architecture by grouping related dashboard visualization settings together.
---
web/src/components/settings/DashboardSetting.js | 15 +++++++++++++++
web/src/components/settings/OperationSetting.js | 10 ----------
.../SettingsDataDashboard.js | 0
3 files changed, 15 insertions(+), 10 deletions(-)
rename web/src/pages/Setting/{Operation => Dashboard}/SettingsDataDashboard.js (100%)
diff --git a/web/src/components/settings/DashboardSetting.js b/web/src/components/settings/DashboardSetting.js
index bf4a26a3..86af88c0 100644
--- a/web/src/components/settings/DashboardSetting.js
+++ b/web/src/components/settings/DashboardSetting.js
@@ -5,6 +5,7 @@ import SettingsAPIInfo from '../../pages/Setting/Dashboard/SettingsAPIInfo.js';
import SettingsAnnouncements from '../../pages/Setting/Dashboard/SettingsAnnouncements.js';
import SettingsFAQ from '../../pages/Setting/Dashboard/SettingsFAQ.js';
import SettingsUptimeKuma from '../../pages/Setting/Dashboard/SettingsUptimeKuma.js';
+import SettingsDataDashboard from '../../pages/Setting/Dashboard/SettingsDataDashboard.js';
const DashboardSetting = () => {
let [inputs, setInputs] = useState({
@@ -23,6 +24,11 @@ const DashboardSetting = () => {
FAQ: '',
UptimeKumaUrl: '',
UptimeKumaSlug: '',
+
+ /* 数据看板 */
+ DataExportEnabled: false,
+ DataExportDefaultTime: 'hour',
+ DataExportInterval: 5,
});
let [loading, setLoading] = useState(false);
@@ -37,6 +43,10 @@ const DashboardSetting = () => {
if (item.key in inputs) {
newInputs[item.key] = item.value;
}
+ if (item.key.endsWith('Enabled') &&
+ (item.key === 'DataExportEnabled')) {
+ newInputs[item.key] = item.value === 'true' ? true : false;
+ }
});
setInputs(newInputs);
} else {
@@ -106,6 +116,11 @@ const DashboardSetting = () => {
+ {/* 数据看板设置 */}
+
+
+
+
{/* API信息管理 */}
diff --git a/web/src/components/settings/OperationSetting.js b/web/src/components/settings/OperationSetting.js
index 9b0e772c..75a5c81a 100644
--- a/web/src/components/settings/OperationSetting.js
+++ b/web/src/components/settings/OperationSetting.js
@@ -3,7 +3,6 @@ import { Card, Spin } from '@douyinfe/semi-ui';
import SettingsGeneral from '../../pages/Setting/Operation/SettingsGeneral.js';
import SettingsSensitiveWords from '../../pages/Setting/Operation/SettingsSensitiveWords.js';
import SettingsLog from '../../pages/Setting/Operation/SettingsLog.js';
-import SettingsDataDashboard from '../../pages/Setting/Operation/SettingsDataDashboard.js';
import SettingsMonitoring from '../../pages/Setting/Operation/SettingsMonitoring.js';
import SettingsCreditLimit from '../../pages/Setting/Operation/SettingsCreditLimit.js';
import { API, showError } from '../../helpers';
@@ -35,11 +34,6 @@ const OperationSetting = () => {
/* 日志设置 */
LogConsumeEnabled: false,
- /* 数据看板 */
- DataExportEnabled: false,
- DataExportDefaultTime: 'hour',
- DataExportInterval: 5,
-
/* 监控设置 */
ChannelDisableThreshold: 0,
QuotaRemindThreshold: 0,
@@ -102,10 +96,6 @@ const OperationSetting = () => {
- {/* 数据看板 */}
-
-
-
{/* 监控设置 */}
diff --git a/web/src/pages/Setting/Operation/SettingsDataDashboard.js b/web/src/pages/Setting/Dashboard/SettingsDataDashboard.js
similarity index 100%
rename from web/src/pages/Setting/Operation/SettingsDataDashboard.js
rename to web/src/pages/Setting/Dashboard/SettingsDataDashboard.js