diff --git a/src/modules/overseerr/RequestModal.tsx b/src/modules/overseerr/RequestModal.tsx index 61ad678ea..74fed37be 100644 --- a/src/modules/overseerr/RequestModal.tsx +++ b/src/modules/overseerr/RequestModal.tsx @@ -10,6 +10,8 @@ import { useColorTheme } from '../../tools/color'; import { MovieResult } from './Movie.d'; import { MediaType, Result } from './SearchResult.d'; import { TvShowResult, TvShowResultSeason } from './TvShow.d'; +import { api } from '~/utils/api'; +import { useConfigContext } from '~/config/provider'; interface RequestModalProps { base: Result; @@ -27,20 +29,22 @@ const useStyles = createStyles((theme) => ({ })); export function RequestModal({ base, opened, setOpened }: RequestModalProps) { - const [result, setResult] = useState(); - const { secondaryColor } = useColorTheme(); + const { name: configName } = useConfigContext(); + const { data: result } = api.overseerr.byId.useQuery( + { + id: base.id, + type: base.mediaType, + configName: configName!, + }, + { + enabled: opened, + } + ); - function getResults(base: Result) { - axios.get(`/api/modules/overseerr/${base.id}?type=${base.mediaType}`).then((res) => { - setResult(res.data); - }); - } - if (opened && !result) { - getResults(base); - } if (!result || !opened) { return null; } + return base.mediaType === 'movie' ? ( ) : ( @@ -93,7 +97,7 @@ export function MovieRequestModal({