From f38290b2eddb844ce6864afa44390653afbc15a4 Mon Sep 17 00:00:00 2001 From: glax Date: Thu, 27 Mar 2025 19:40:38 +0100 Subject: [PATCH] #50 --- Website/App.tsx | 6 ++++-- Website/modules/MonitorJobsList.tsx | 2 +- Website/modules/Search.tsx | 7 ++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Website/App.tsx b/Website/App.tsx index 92e5dd7..a0ecb8e 100644 --- a/Website/App.tsx +++ b/Website/App.tsx @@ -140,12 +140,14 @@ const updateConnected = (apiUri: string, connected: boolean, setConnected: (c: b } export const checkConnection = async (apiUri: string): Promise =>{ - return fetch(`${apiUri}/swagger`, + return fetch(`${apiUri}/swagger/v2/swagger.json`, { method: 'GET', }) .then((response) => { - return response.ok; + if(!(response.ok && response.status == 200)) + return false; + return response.json().then((json) => (json as {openapi:string}).openapi.match("[0-9]+(?:\.[0-9]+)+")?true:false).catch(() => false); }) .catch(() => { return Promise.reject(); diff --git a/Website/modules/MonitorJobsList.tsx b/Website/modules/MonitorJobsList.tsx index a619268..18310d3 100644 --- a/Website/modules/MonitorJobsList.tsx +++ b/Website/modules/MonitorJobsList.tsx @@ -35,7 +35,7 @@ export default function MonitorJobsList({onStartSearch, connectedToBackend, apiU if(jobs.length != MonitoringJobs.length || MonitoringJobs.filter(j => jobs.find(nj => nj.jobId == j.jobId)).length > 1 || jobs.filter(nj => MonitoringJobs.find(j => nj.jobId == j.jobId)).length > 1){ - setMonitoringJobs(jobs); + setMonitoringJobs(jobs); } }); } diff --git a/Website/modules/Search.tsx b/Website/modules/Search.tsx index 050e1e9..0552081 100644 --- a/Website/modules/Search.tsx +++ b/Website/modules/Search.tsx @@ -11,6 +11,7 @@ import LocalLibraryFunctions from "./LocalLibraryFunctions"; import Loader from "./Loader"; export default function Search({apiUri, jobInterval, closeSearch} : {apiUri: string, jobInterval: Date, closeSearch(): void}) { + let [loading, setLoading] = useState(true); const [mangaConnectors, setConnectors] = useState(); const [selectedConnector, setSelectedConnector] = useState(); const [selectedLanguage, setSelectedLanguage] = useState(); @@ -23,6 +24,11 @@ export default function Search({apiUri, jobInterval, closeSearch} : {apiUri: str MangaConnectorFunctions.GetAllConnectors(apiUri).then(setConnectors).then(() => setLoading(false)); }, []); + useEffect(() => { + setSelectedConnector(mangaConnectors?.find(c => c.name == "Global")); + setSelectedLanguage(mangaConnectors?.find(c => c.name == "Global")?.supportedLanguages[0]) + }, [mangaConnectors]); + const selectedConnectorChanged : ChangeEventHandler = (event) => { event.preventDefault(); if(mangaConnectors === undefined) @@ -90,7 +96,6 @@ export default function Search({apiUri, jobInterval, closeSearch} : {apiUri: str const changeSelectedLanguage : ChangeEventHandler = (event) => setSelectedLanguage(event.target.value); let [selectedLibrary, setSelectedLibrary] = useState(null); let [libraries, setLibraries] = useState(null); - let [loading, setLoading] = useState(true); useEffect(() => { LocalLibraryFunctions.GetLibraries(apiUri).then(setLibraries); }, []);