mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-10 23:45:48 +01:00
✨ Add support for multiple Arr services
In the calendar, you can now have 2 separate Sonarr or Radarr instances
This commit is contained in:
@@ -41,29 +41,47 @@ export default function CalendarComponent(props: any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Filter only sonarr and radarr services
|
// Create each Sonarr service and get the medias
|
||||||
|
const currentSonarrMedias: any[] = [...sonarrMedias];
|
||||||
// Get the url and apiKey for all Sonarr and Radarr services
|
Promise.all(
|
||||||
sonarrServices.map((service) =>
|
sonarrServices.map((service) =>
|
||||||
getMedias(service, 'sonarr').then((res) => {
|
getMedias(service, 'sonarr').then((res) => {
|
||||||
setSonarrMedias([...sonarrMedias, ...res.data]);
|
currentSonarrMedias.push(...res.data);
|
||||||
})
|
})
|
||||||
);
|
)
|
||||||
|
).then(() => {
|
||||||
|
setSonarrMedias(currentSonarrMedias);
|
||||||
|
});
|
||||||
|
const currentRadarrMedias: any[] = [...radarrMedias];
|
||||||
|
Promise.all(
|
||||||
radarrServices.map((service) =>
|
radarrServices.map((service) =>
|
||||||
getMedias(service, 'radarr').then((res) => {
|
getMedias(service, 'radarr').then((res) => {
|
||||||
setRadarrMedias([...radarrMedias, ...res.data]);
|
currentRadarrMedias.push(...res.data);
|
||||||
})
|
})
|
||||||
);
|
)
|
||||||
|
).then(() => {
|
||||||
|
setRadarrMedias(currentRadarrMedias);
|
||||||
|
});
|
||||||
|
const currentLidarrMedias: any[] = [...lidarrMedias];
|
||||||
|
Promise.all(
|
||||||
lidarrServices.map((service) =>
|
lidarrServices.map((service) =>
|
||||||
getMedias(service, 'lidarr').then((res) => {
|
getMedias(service, 'lidarr').then((res) => {
|
||||||
setLidarrMedias([...lidarrMedias, ...res.data]);
|
currentLidarrMedias.push(...res.data);
|
||||||
})
|
})
|
||||||
);
|
)
|
||||||
|
).then(() => {
|
||||||
|
setLidarrMedias(currentLidarrMedias);
|
||||||
|
});
|
||||||
|
const currentReadarrMedias: any[] = [...readarrMedias];
|
||||||
|
Promise.all(
|
||||||
readarrServices.map((service) =>
|
readarrServices.map((service) =>
|
||||||
getMedias(service, 'readarr').then((res) => {
|
getMedias(service, 'readarr').then((res) => {
|
||||||
setReadarrMedias([...readarrMedias, ...res.data]);
|
currentReadarrMedias.push(...res.data);
|
||||||
})
|
})
|
||||||
);
|
)
|
||||||
|
).then(() => {
|
||||||
|
setReadarrMedias(currentReadarrMedias);
|
||||||
|
});
|
||||||
}, [config.services]);
|
}, [config.services]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user