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 (