This commit is contained in:
glax 2025-03-27 19:40:38 +01:00
parent 211db3d4d5
commit f38290b2ed
3 changed files with 11 additions and 4 deletions

View File

@ -140,12 +140,14 @@ const updateConnected = (apiUri: string, connected: boolean, setConnected: (c: b
}
export const checkConnection = async (apiUri: string): Promise<boolean> =>{
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();

View File

@ -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);
}
});
}

View File

@ -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<boolean>(true);
const [mangaConnectors, setConnectors] = useState<IMangaConnector[]>();
const [selectedConnector, setSelectedConnector] = useState<IMangaConnector>();
const [selectedLanguage, setSelectedLanguage] = useState<string>();
@ -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<HTMLSelectElement> = (event) => {
event.preventDefault();
if(mangaConnectors === undefined)
@ -90,7 +96,6 @@ export default function Search({apiUri, jobInterval, closeSearch} : {apiUri: str
const changeSelectedLanguage : ChangeEventHandler<HTMLSelectElement> = (event) => setSelectedLanguage(event.target.value);
let [selectedLibrary, setSelectedLibrary] = useState<ILocalLibrary | null>(null);
let [libraries, setLibraries] = useState<ILocalLibrary[] | null>(null);
let [loading, setLoading] = useState<boolean>(true);
useEffect(() => {
LocalLibraryFunctions.GetLibraries(apiUri).then(setLibraries);
}, []);