1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-18 21:35:27 -04:00

Use react-query for series

This commit is contained in:
Mark McDowall
2025-11-28 19:37:17 -08:00
parent 49db4a1d76
commit 0521a6c390
91 changed files with 1961 additions and 2173 deletions
@@ -16,13 +16,13 @@ import ModalHeader from 'Components/Modal/ModalHeader';
import useMeasure from 'Helpers/Hooks/useMeasure';
import usePrevious from 'Helpers/Hooks/usePrevious';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import useQualityProfileInUse from 'Settings/Profiles/Quality/useQualityProfileInUse';
import {
fetchQualityProfileSchema,
saveQualityProfile,
setQualityProfileValue,
} from 'Store/Actions/settingsActions';
import { createProviderSettingsSelectorHook } from 'Store/Selectors/createProviderSettingsSelector';
import createQualityProfileInUseSelector from 'Store/Selectors/createQualityProfileInUseSelector';
import dimensions from 'Styles/Variables/dimensions';
import { InputChanged } from 'typings/inputs';
import QualityProfile, {
@@ -73,7 +73,7 @@ function EditQualityProfileModalContent({
>('qualityProfiles', id)
);
const isInUse = useSelector(createQualityProfileInUseSelector(id));
const isInUse = useQualityProfileInUse(id);
const [measureHeaderRef, { height: headerHeight }] = useMeasure();
const [measureBodyRef, { height: bodyHeight }] = useMeasure();
@@ -0,0 +1,24 @@
import { useMemo } from 'react';
import { useSelector } from 'react-redux';
import AppState from 'App/State/AppState';
import useSeries from 'Series/useSeries';
function useQualityProfileInUse(id: number | undefined) {
const { data: series = [] } = useSeries();
const importLists = useSelector(
(state: AppState) => state.settings.importLists.items
);
return useMemo(() => {
if (!id) {
return false;
}
return (
series.some((s) => s.qualityProfileId === id) ||
importLists.some((list) => list.qualityProfileId === id)
);
}, [id, series, importLists]);
}
export default useQualityProfileInUse;