move some queries around, maybe using them as a function isn't the best idea

This commit is contained in:
Violet Caulfield
2025-02-14 11:36:57 -06:00
parent 9bb5ccddf0
commit 1f722262f5
6 changed files with 23 additions and 27 deletions
-5
View File
@@ -20,9 +20,4 @@ export const useFavoritePlaylists = () => useQuery({
export const useFavoriteTracks = () => useQuery({
queryKey: [QueryKeys.FavoriteTracks],
queryFn: () => fetchFavoriteTracks()
});
export const useUserData = (itemId: string) => useQuery({
queryKey: [QueryKeys.UserData, itemId],
queryFn: () => fetchUserData(itemId)
});
-8
View File
@@ -1,8 +0,0 @@
import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
import { fetchItem } from "./functions/item";
export const useItem = (itemId: string) => useQuery({
queryKey: [QueryKeys.Item, itemId],
queryFn: () => fetchItem(itemId)
});
-5
View File
@@ -2,11 +2,6 @@ import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
import { fetchRecentlyPlayed, fetchRecentlyPlayedArtists } from "./functions/recents";
export const useRecentlyPlayed = () => useQuery({
queryKey: [QueryKeys.RecentlyPlayed],
queryFn: () => fetchRecentlyPlayed()
});
export const useRecentlyPlayedArtists = (offset?: number | undefined) => useQuery({
queryKey: [QueryKeys.RecentlyPlayedArtists, offset],
queryFn: () => fetchRecentlyPlayedArtists(offset)
@@ -2,15 +2,15 @@ import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
import React, { useEffect, useState } from "react";
import Icon from "../helpers/icon";
import { getUserLibraryApi } from "@jellyfin/sdk/lib/utils/api";
import { useMutation } from "@tanstack/react-query";
import { useMutation, useQuery } from "@tanstack/react-query";
import { isUndefined } from "lodash";
import { useUserData } from "../../../api/queries/favorites";
import { getTokens, Spinner } from "tamagui";
import Client from "../../../api/client";
import { usePlayerContext } from "../../..//player/provider";
import { queryClient } from "../../../constants/query-client";
import { QueryKeys } from "../../../enums/query-keys";
import { trigger } from "react-native-haptic-feedback";
import { fetchUserData } from "../../../api/queries/functions/favorites";
interface SetFavoriteMutation {
item: BaseItemDto,
@@ -28,7 +28,10 @@ export default function FavoriteButton({
const [isFavorite, setIsFavorite] = useState<boolean>(isFavoriteItem(item));
const { data, isFetching, isFetched, refetch } = useUserData(item.Id!);
const { data, isFetching, isFetched, refetch } = useQuery({
queryKey: [QueryKeys.UserData, item.Id!],
queryFn: () => fetchUserData(item.Id!)
});;
const useSetFavorite = useMutation({
mutationFn: async (mutation: SetFavoriteMutation) => {
+11 -3
View File
@@ -1,6 +1,8 @@
import React, { createContext, ReactNode, useContext, useState } from "react";
import { useRecentlyPlayed, useRecentlyPlayedArtists } from "../../api/queries/recently-played";
import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
import { fetchRecentlyPlayed, fetchRecentlyPlayedArtists } from "../../api/queries/functions/recents";
interface HomeContext {
refreshing: boolean;
@@ -12,8 +14,14 @@ interface HomeContext {
const HomeContextInitializer = () => {
const [refreshing, setRefreshing] = useState<boolean>(false);
const { data : recentTracks, refetch : refetchRecentTracks } = useRecentlyPlayed();
const { data : recentArtists, refetch : refetchRecentArtists } = useRecentlyPlayedArtists();
const { data : recentTracks, refetch : refetchRecentTracks } = useQuery({
queryKey: [QueryKeys.RecentlyPlayed],
queryFn: () => fetchRecentlyPlayed()
});
const { data : recentArtists, refetch : refetchRecentArtists } = useQuery({
queryKey: [QueryKeys.RecentlyPlayedArtists],
queryFn: () => fetchRecentlyPlayedArtists()
});
const onRefresh = async () => {
await Promise.all([
@@ -1,5 +1,4 @@
import { usePlayerContext } from "../../../player/provider";
import { useItem } from "../../../api/queries/item";
import { StackParamList } from "../../../components/types";
import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
import { NativeStackNavigationProp } from "@react-navigation/native-stack";
@@ -11,12 +10,13 @@ import { Text } from "../../../components/Global/helpers/text";
import { useUserPlaylists } from "../../../api/queries/playlist";
import React from "react";
import BlurhashedImage from "../../../components/Global/components/blurhashed-image";
import { useMutation } from "@tanstack/react-query";
import { useMutation, useQuery } from "@tanstack/react-query";
import { AddToPlaylistMutation } from "../types";
import { addToPlaylist } from "../../../api/mutations/functions/playlists";
import { trigger } from "react-native-haptic-feedback";
import { queryClient } from "../../../constants/query-client";
import { QueryKeys } from "../../../enums/query-keys";
import { fetchItem } from "../../../api/queries/functions/item";
interface TrackOptionsProps {
track: BaseItemDto;
@@ -34,7 +34,10 @@ export default function TrackOptions({
isNested
} : TrackOptionsProps) : React.JSX.Element {
const { data: album, isSuccess: albumFetchSuccess } = useItem(track.AlbumId ?? "");
const { data: album, isSuccess: albumFetchSuccess } = useQuery({
queryKey: [QueryKeys.Item, track.AlbumId!],
queryFn: () => fetchItem(track.AlbumId!)
});;
const { data: playlists, isPending : playlistsFetchPending, isSuccess: playlistsFetchSuccess, refetch } = useUserPlaylists();