Add recently played query and function

This commit is contained in:
Violet Caulfield
2024-11-24 06:01:10 -06:00
parent 25d35d9034
commit fb0e2cca66
3 changed files with 26 additions and 5 deletions

View File

@@ -0,0 +1,17 @@
import { Api } from "@jellyfin/sdk/lib/api";
import { BaseItemDto, ItemSortBy } from "@jellyfin/sdk/lib/generated-client/models";
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
export function fetchRecentlyPlayed(api: Api): Promise<BaseItemDto[] | undefined> {
return new Promise(async (resolve, reject) => {
getItemsApi(api).getItems({ sortBy: [ ItemSortBy.DatePlayed ], limit: 100 })
.then((response) => {
if (response.data.Items)
resolve(response.data.Items);
else {
resolve([]);
}
})
})
}

View File

@@ -1,11 +1,9 @@
import { Api } from "@jellyfin/sdk";
import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
import { fetchRecentlyPlayed } from "./functions/recents";
export const useRecentlyPlayed = (api: Api) => useQuery({
queryKey: [QueryKeys.RecentlyPlayed],
queryFn: () => {
}
queryFn: () => fetchRecentlyPlayed(api)
})

View File

@@ -1,4 +1,4 @@
import React from "react";
import React, { useEffect } from "react";
import { ScrollView } from "tamagui";
import { useApiClientContext } from "../../jellyfin-api-provider";
import { useRecentlyPlayed } from "../../../api/queries/recently-played";
@@ -9,6 +9,12 @@ export default function RecentlyPlayed(): React.JSX.Element {
const { data, isError, refetch } = useRecentlyPlayed(apiClient!)
useEffect(() => {
console.log(data);
}, [
data
])
return (
<ScrollView horizontal>