1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Convert ItemsContainer to react

This commit is contained in:
grafixeyehero 2023-10-13 02:07:49 +03:00
parent 71e431d562
commit c767dba439
7 changed files with 568 additions and 39 deletions

View file

@ -1,4 +1,5 @@
import type { ItemsApiGetItemsRequest } from '@jellyfin/sdk/lib/generated-client';
import { AxiosRequestConfig } from 'axios';
import type { ItemsApiGetItemsRequest, PlaylistsApiMoveItemRequest } from '@jellyfin/sdk/lib/generated-client';
import type { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind';
import { ImageType } from '@jellyfin/sdk/lib/generated-client/models/image-type';
import { ItemFields } from '@jellyfin/sdk/lib/generated-client/models/item-fields';
@ -13,8 +14,8 @@ import { getMoviesApi } from '@jellyfin/sdk/lib/utils/api/movies-api';
import { getStudiosApi } from '@jellyfin/sdk/lib/utils/api/studios-api';
import { getTvShowsApi } from '@jellyfin/sdk/lib/utils/api/tv-shows-api';
import { getUserLibraryApi } from '@jellyfin/sdk/lib/utils/api/user-library-api';
import { AxiosRequestConfig } from 'axios';
import { useQuery } from '@tanstack/react-query';
import { getPlaylistsApi } from '@jellyfin/sdk/lib/utils/api/playlists-api';
import { useMutation, useQuery } from '@tanstack/react-query';
import { JellyfinApiContext, useApi } from './useApi';
import { getAlphaPickerQuery, getFieldsQuery, getFiltersQuery, getLimitQuery } from 'utils/items';
@ -509,3 +510,24 @@ export const useGetItemsViewByType = (
].includes(viewType) && !!parentId
});
};
const fetchPlaylistsMoveItem = async (
currentApi: JellyfinApiContext,
requestParameters: PlaylistsApiMoveItemRequest
) => {
const { api, user } = currentApi;
if (api && user?.Id) {
const response = await getPlaylistsApi(api).moveItem({
...requestParameters
});
return response.data;
}
};
export const usePlaylistsMoveItemMutation = () => {
const currentApi = useApi();
return useMutation({
mutationFn: (requestParameters: PlaylistsApiMoveItemRequest) =>
fetchPlaylistsMoveItem(currentApi, requestParameters )
});
};