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

34 lines
960 B
TypeScript
Executable File

import {keepPreviousData, useQuery} from '@tanstack/react-query';
import {apiClient} from '@common/http/query-client';
import {BackendResponse} from '@common/http/backend-response/backend-response';
import {NormalizedModel} from '@common/datatable/filters/normalized-model';
interface AutocompleteTitle extends NormalizedModel {
seasons_count: number;
episode_numbers: number[];
}
interface Response extends BackendResponse {
titles: AutocompleteTitle[];
}
interface Params {
searchQuery: string;
selectedTitleId?: number | string;
seasonNumber?: number | string;
}
export function useTitlesAutocomplete(params: Params) {
return useQuery({
queryKey: ['titles', 'autocomplete', params],
queryFn: () => autocompleteTitles(params),
placeholderData: keepPreviousData,
});
}
function autocompleteTitles(params: Params) {
return apiClient
.get<Response>(`titles/autocomplete`, {params})
.then(response => response.data);
}