From fc2676c33ed610037f357d15372df8b57b20486d Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 18 Jun 2025 09:43:41 +0800 Subject: [PATCH] deal with redux before validation --- client/src/Pages/Settings/index.jsx | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/client/src/Pages/Settings/index.jsx b/client/src/Pages/Settings/index.jsx index 7368f0e32..76eaccd6c 100644 --- a/client/src/Pages/Settings/index.jsx +++ b/client/src/Pages/Settings/index.jsx @@ -91,30 +91,19 @@ const Settings = () => { settings: { ...settingsData.settings, [name]: newValue ?? value }, }; - // Validate - const { error } = settingsValidation.validate(newSettingsData.settings, { - abortEarly: false, - }); - if (!error || error.details.length === 0) { - setErrors({}); - } else { - const newErrors = {}; - error.details.forEach((err) => { - newErrors[err.path[0]] = err.message; - }); - setErrors(newErrors); - } - if (name === "timezone") { dispatch(setTimezone({ timezone: value })); + return; } if (name === "mode") { dispatch(setMode(value)); + return; } if (name === "language") { dispatch(setLanguage(value)); + return; } if (name === "deleteStats") { @@ -132,6 +121,20 @@ const Settings = () => { return; } + // Validate + const { error } = settingsValidation.validate(newSettingsData.settings, { + abortEarly: false, + }); + if (!error || error.details.length === 0) { + setErrors({}); + } else { + const newErrors = {}; + error.details.forEach((err) => { + newErrors[err.path[0]] = err.message; + }); + setErrors(newErrors); + } + setSettingsData(newSettingsData); };