diff --git a/src/renderer/components/grid-carousel/grid-carousel-v2.tsx b/src/renderer/components/grid-carousel/grid-carousel-v2.tsx index 464954d0b..56a31c0ba 100644 --- a/src/renderer/components/grid-carousel/grid-carousel-v2.tsx +++ b/src/renderer/components/grid-carousel/grid-carousel-v2.tsx @@ -18,6 +18,7 @@ interface Card { interface GridCarouselProps { cards: Card[]; + enableRefresh?: boolean; hasNextPage?: boolean; loadNextPage?: () => void; onNextPage: (page: number) => void; @@ -46,6 +47,7 @@ const pageVariants: Variants = { function BaseGridCarousel(props: GridCarouselProps) { const { cards, + enableRefresh = false, hasNextPage, loadNextPage, onNextPage, @@ -164,10 +166,10 @@ function BaseGridCarousel(props: GridCarouselProps) { ) : ( title )} - {onRefresh && ( + {enableRefresh && onRefresh && ( { uniqueId: 'moreFromArtist', }, { + enableRefresh: true, excludeIds: detailQuery?.data?.id ? [detailQuery.data.id] : undefined, isHidden: !detailQuery?.data?.genres?.[0], query: { @@ -413,6 +414,7 @@ export const AlbumDetailContent = () => { .filter((c) => !c.isHidden) .map((carousel) => ( >; rowCount?: number; @@ -28,7 +29,15 @@ interface AlbumCarouselProps { } const BaseAlbumInfiniteCarousel = (props: AlbumCarouselProps) => { - const { excludeIds, query: additionalQuery, rowCount = 1, sortBy, sortOrder, title } = props; + const { + enableRefresh, + excludeIds, + query: additionalQuery, + rowCount = 1, + sortBy, + sortOrder, + title, + } = props; const rows = useGridRows(LibraryItem.ALBUM, ItemListKey.ALBUM); const { data: albums, @@ -81,6 +90,7 @@ const BaseAlbumInfiniteCarousel = (props: AlbumCarouselProps) => { return ( { title: t('page.home.mostPlayed', { postProcess: 'sentenceCase' }), }, [HomeItem.RANDOM]: { + enableRefresh: true, itemType: LibraryItem.ALBUM, sortBy: AlbumListSort.RANDOM, sortOrder: SortOrder.ASC, @@ -118,6 +119,7 @@ const HomeRoute = () => { if (carousel.itemType === LibraryItem.ALBUM) { return (