From 606aaa0d563572bffab97ddb34b39fe5febc0513 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Fri, 21 Nov 2025 21:46:08 -0800 Subject: [PATCH] handle more rating/favorite mutation cases --- .../mutations/create-favorite-mutation.ts | 18 +++++++++++++++--- .../mutations/delete-favorite-mutation.ts | 17 +++++++++++++++-- .../shared/mutations/set-rating-mutation.ts | 17 +++++++++++++++-- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/src/renderer/features/shared/mutations/create-favorite-mutation.ts b/src/renderer/features/shared/mutations/create-favorite-mutation.ts index f36765594..07c1f8b79 100644 --- a/src/renderer/features/shared/mutations/create-favorite-mutation.ts +++ b/src/renderer/features/shared/mutations/create-favorite-mutation.ts @@ -48,7 +48,6 @@ export const useCreateFavorite = (args: MutationHookArgs) => { onSuccess: (_data, variables) => { if (variables.query.type === LibraryItem.SONG) { remote?.updateFavorite(true, variables.apiClientProps.serverId, variables.query.id); - // setQueueFavorite(variables.query.id, true); setFavoriteEvent(variables.query.id, true); } @@ -84,12 +83,25 @@ export const useCreateFavorite = (args: MutationHookArgs) => { break; } + case LibraryItem.PLAYLIST_SONG: + case LibraryItem.QUEUE_SONG: case LibraryItem.SONG: { - const queryKey = queryKeys.songs.detail(variables.apiClientProps.serverId); + const songDetailQueryKey = queryKeys.songs.detail( + variables.apiClientProps.serverId, + ); queryClient.invalidateQueries({ exact: false, - queryKey, + queryKey: songDetailQueryKey, + }); + + const albumDetailQueryKey = queryKeys.albums.detail( + variables.apiClientProps.serverId, + ); + + queryClient.invalidateQueries({ + exact: false, + queryKey: albumDetailQueryKey, }); break; diff --git a/src/renderer/features/shared/mutations/delete-favorite-mutation.ts b/src/renderer/features/shared/mutations/delete-favorite-mutation.ts index 087dcea6f..8a5f62c00 100644 --- a/src/renderer/features/shared/mutations/delete-favorite-mutation.ts +++ b/src/renderer/features/shared/mutations/delete-favorite-mutation.ts @@ -85,12 +85,25 @@ export const useDeleteFavorite = (args: MutationHookArgs) => { break; } + case LibraryItem.PLAYLIST_SONG: + case LibraryItem.QUEUE_SONG: case LibraryItem.SONG: { - const queryKey = queryKeys.songs.detail(variables.apiClientProps.serverId); + const songDetailQueryKey = queryKeys.songs.detail( + variables.apiClientProps.serverId, + ); queryClient.invalidateQueries({ exact: false, - queryKey, + queryKey: songDetailQueryKey, + }); + + const albumDetailQueryKey = queryKeys.albums.detail( + variables.apiClientProps.serverId, + ); + + queryClient.invalidateQueries({ + exact: false, + queryKey: albumDetailQueryKey, }); break; diff --git a/src/renderer/features/shared/mutations/set-rating-mutation.ts b/src/renderer/features/shared/mutations/set-rating-mutation.ts index 71b336bfe..294656273 100644 --- a/src/renderer/features/shared/mutations/set-rating-mutation.ts +++ b/src/renderer/features/shared/mutations/set-rating-mutation.ts @@ -77,12 +77,25 @@ export const useSetRating = (args: MutationHookArgs) => { break; } + case LibraryItem.PLAYLIST_SONG: + case LibraryItem.QUEUE_SONG: case LibraryItem.SONG: { - const queryKey = queryKeys.songs.detail(variables.apiClientProps.serverId); + const songDetailQueryKey = queryKeys.songs.detail( + variables.apiClientProps.serverId, + ); queryClient.invalidateQueries({ exact: false, - queryKey, + queryKey: songDetailQueryKey, + }); + + const albumDetailQueryKey = queryKeys.albums.detail( + variables.apiClientProps.serverId, + ); + + queryClient.invalidateQueries({ + exact: false, + queryKey: albumDetailQueryKey, }); break;