Files
mtdb_movie/resources/client/admin/titles/requests/use-title-credits.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

42 lines
1003 B
TypeScript
Executable File

import {useInfiniteData} from '@common/ui/infinite-scroll/use-infinite-data';
import {TitleCredit} from '@app/titles/models/title';
import {useParams} from 'react-router-dom';
export const titleCreditsQueryKey = (
titleId: number | string,
season?: number | string,
episode?: number | string,
params?: any
) => {
const key = ['titles', `${titleId}`, 'credits'];
if (season) {
key.push('season', `${season}`);
}
if (episode) {
key.push('episode', `${episode}`);
}
if (params) {
key.push(params);
}
return key;
};
interface Params {
department?: string;
crewOnly?: string;
}
export function useTitleCredits(params: Params = {}) {
const {titleId, season, episode} = useParams();
return useInfiniteData<TitleCredit>({
endpoint: `titles/${titleId}/credits`,
queryKey: titleCreditsQueryKey(titleId!, season, episode, params),
queryParams: {
...params,
perPage: 30,
season: season || '',
episode: episode || '',
},
});
}