From d621422ae3edc107a26ff0997bd8b583a0bdd5b9 Mon Sep 17 00:00:00 2001 From: glax Date: Tue, 22 Oct 2024 18:12:24 +0200 Subject: [PATCH] Clear inputs when settings changed --- Website/modules/Settings.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Website/modules/Settings.tsx b/Website/modules/Settings.tsx index 02f565c..78130eb 100644 --- a/Website/modules/Settings.tsx +++ b/Website/modules/Settings.tsx @@ -7,7 +7,7 @@ import ILibraryConnector from "./interfaces/ILibraryConnector"; import INotificationConnector from "./interfaces/INotificationConnector"; export default function Settings({backendConnected, apiUri, settings, changeSettings} : {backendConnected: boolean, apiUri: string, settings: IFrontendSettings, changeSettings: (settings: IFrontendSettings) => void}) { - const [frontendSettings] = useState(settings); + const [frontendSettings, setFrontendSettings] = useState(settings); const [backendSettings, setBackendSettings] = useState(); const [showSettings, setShowSettings] = useState(false); const [libraryConnectors, setLibraryConnectors] = useState([]); @@ -21,6 +21,10 @@ export default function Settings({backendConnected, apiUri, settings, changeSett GetNotificationConnectors(apiUri).then(setNotificationConnectors).catch(console.error); }, [showSettings]); + useEffect(() => { + changeSettings(frontendSettings); + }, [frontendSettings]); + async function GetSettings(apiUri: string) : Promise { //console.info("Getting Settings"); return getData(`${apiUri}/v2/Settings`) @@ -78,9 +82,18 @@ export default function Settings({backendConnected, apiUri, settings, changeSett } const SubmitApiUri : KeyboardEventHandler = (e) => { + if(e.currentTarget.value.length < 1) + return; const newSettings = FrontendSettingsWith(frontendSettings, undefined, e.currentTarget.value); - if(e.key == "Enter") - changeSettings(newSettings); + if(e.key == "Enter"){ + setFrontendSettings(newSettings); + ClearInputs(); + } + } + + function ClearInputs(){ + setShowSettings(false); + setShowSettings(true); } return (