[bugfix]: fix album artist order and mild race protection

This commit is contained in:
Kendall Garner 2024-04-09 22:11:29 -07:00
parent 15c6ef382a
commit c3fcb7487c
No known key found for this signature in database
GPG key ID: 18D2767419676C87
2 changed files with 18 additions and 18 deletions

View file

@ -108,17 +108,19 @@ export const VirtualInfiniteGrid = forwardRef(
take: end - start,
});
const newData: any[] = [...itemData];
setItemData((itemData) => {
const newData: any[] = [...itemData];
let itemIndex = 0;
for (let rowIndex = start; rowIndex < end; rowIndex += 1) {
newData[rowIndex] = data.items[itemIndex];
itemIndex += 1;
}
let itemIndex = 0;
for (let rowIndex = start; rowIndex < itemCount; rowIndex += 1) {
newData[rowIndex] = data.items[itemIndex];
itemIndex += 1;
}
setItemData(newData);
return newData;
});
},
[columnCount, fetchFn, itemData, setItemData],
[columnCount, fetchFn, itemCount],
);
const debouncedLoadMoreItems = debounce(loadMoreItems, 500);

View file

@ -11,6 +11,7 @@ import {
AlbumArtistListQuery,
AlbumArtistListResponse,
AlbumArtistListSort,
ArtistListQuery,
LibraryItem,
} from '/@/renderer/api/types';
import { ALBUMARTIST_CARD_ROWS } from '/@/renderer/components';
@ -72,16 +73,13 @@ export const AlbumArtistListGridView = ({ itemCount, gridRef }: AlbumArtistListG
const fetch = useCallback(
async ({ skip: startIndex, take: limit }: { skip: number; take: number }) => {
const queryKey = queryKeys.albumArtists.list(
server?.id || '',
{
...filter,
},
{
limit,
startIndex,
},
);
const query: ArtistListQuery = {
...filter,
limit,
startIndex,
};
const queryKey = queryKeys.albumArtists.list(server?.id || '', query);
const albumArtistsRes = await queryClient.fetchQuery(
queryKey,