Invalidate library children when changed

This commit is contained in:
Bill Thornton
2026-06-15 13:25:09 -04:00
parent bbcee3e5e5
commit 72c6a5307e
2 changed files with 8 additions and 2 deletions
@@ -1,16 +1,22 @@
import type { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto';
import type { VirtualFolderInfo } from '@jellyfin/sdk/lib/generated-client/models/virtual-folder-info';
import { queryClient } from 'utils/query/queryClient';
import { QUERY_KEY } from './useVirtualFolders';
/** Invalidates queries related to libraries/virtual folders. */
export const invalidateVirtualFolders = (user?: UserDto) => {
export const invalidateVirtualFolders = (user?: UserDto, virtualFolder?: VirtualFolderInfo) => {
// Admin API - Virtual Folders
void queryClient.invalidateQueries({ queryKey: [QUERY_KEY] });
if (user) {
// User API - Views
void queryClient.invalidateQueries({ queryKey: ['User', user.Id, 'Views'] });
if (virtualFolder?.ItemId) {
// Items API - Library children
void queryClient.invalidateQueries({ queryKey: ['User', user.Id, 'Items', virtualFolder.ItemId] });
}
}
};
@@ -111,7 +111,7 @@ const LibraryCard = ({ virtualFolder }: LibraryCardProps) => {
}) as Promise<boolean>;
void mediaLibraryEditor.then((hasChanges: boolean) => {
if (hasChanges) invalidateVirtualFolders(user);
if (hasChanges) invalidateVirtualFolders(user, virtualFolder);
});
}, [ user, virtualFolder ]);