From 9248be63108aa390c1dac93e9be5e92d760ca655 Mon Sep 17 00:00:00 2001 From: Misaka_Company Date: Mon, 16 Mar 2026 16:16:06 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(ui):=20use=20glob?= =?UTF-8?q?al=20toast=20system=20in=20SettingsPage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace local message state with global showSuccess/showError - Remove inline message display component from SettingsPage - Center toast notifications for better visibility Co-Authored-By: Claude Opus 4.6 --- src/renderer/src/components/ui/Toast.tsx | 2 +- src/renderer/src/pages/SettingsPage.tsx | 32 +++++------------------- 2 files changed, 7 insertions(+), 27 deletions(-) diff --git a/src/renderer/src/components/ui/Toast.tsx b/src/renderer/src/components/ui/Toast.tsx index 56fff5f..48bda0b 100644 --- a/src/renderer/src/components/ui/Toast.tsx +++ b/src/renderer/src/components/ui/Toast.tsx @@ -73,7 +73,7 @@ export function Toast() { if (toasts.length === 0) return null return ( -
+
{toasts.map((toast) => ( { }) const [isModified, setIsModified] = useState(false) const [isLoading, setIsLoading] = useState(true) - const [message, setMessage] = useState<{ - type: 'success' | 'error' | 'info' - text: string - } | null>(null) useEffect(() => { loadCredentials() @@ -38,21 +35,16 @@ const SettingsPage: React.FC = () => { password: config.erp.password || '' }) } else if (!response.success) { - showMessage('error', response.error || '加载 ERP 配置失败') + showError(response.error || '加载 ERP 配置失败') } setIsModified(false) } catch (error) { - showMessage('error', '加载 ERP 配置失败') + showError('加载 ERP 配置失败') } finally { setIsLoading(false) } } - const showMessage = (type: 'success' | 'error' | 'info', text: string) => { - setMessage({ type, text }) - setTimeout(() => setMessage(null), 3000) - } - const handleSaveCredentials = async () => { try { // Save ERP credentials to database (current user's config) @@ -68,12 +60,12 @@ const SettingsPage: React.FC = () => { if (result.success && saveData?.success !== false) { setIsModified(false) - showMessage('success', 'ERP 账号密码保存成功') + showSuccess('ERP 账号密码保存成功') } else { - showMessage('error', result.error || saveData?.error || '保存失败') + showError(result.error || saveData?.error || '保存失败') } } catch (error) { - showMessage('error', '保存配置时发生错误') + showError('保存配置时发生错误') } } @@ -90,18 +82,6 @@ const SettingsPage: React.FC = () => { return (
- {message && ( -
- {message.text} -
- )} -