set low fetchPriority for carousel images

This commit is contained in:
jeffvli
2026-03-11 19:41:04 -07:00
parent 1595805b83
commit d78ea440cc
6 changed files with 23 additions and 0 deletions
@@ -40,7 +40,14 @@
display: grid; display: grid;
grid-template-columns: repeat(var(--cards-to-show, 2), minmax(0, 1fr)); grid-template-columns: repeat(var(--cards-to-show, 2), minmax(0, 1fr));
gap: var(--theme-spacing-md); gap: var(--theme-spacing-md);
contain: layout paint;
content-visibility: auto;
overflow: hidden; overflow: hidden;
will-change: transform;
}
.card {
min-height: 0;
} }
.page-indicator { .page-indicator {
@@ -64,6 +64,7 @@ export interface ItemCardProps {
enableMultiSelect?: boolean; enableMultiSelect?: boolean;
enableNavigation?: boolean; enableNavigation?: boolean;
imageAsLink?: boolean; imageAsLink?: boolean;
imageFetchPriority?: 'auto' | 'high' | 'low';
internalState?: ItemListStateActions; internalState?: ItemListStateActions;
isRound?: boolean; isRound?: boolean;
itemType: LibraryItem; itemType: LibraryItem;
@@ -80,6 +81,7 @@ export const ItemCard = ({
enableMultiSelect, enableMultiSelect,
enableNavigation = true, enableNavigation = true,
imageAsLink, imageAsLink,
imageFetchPriority,
internalState, internalState,
isRound, isRound,
itemType, itemType,
@@ -102,6 +104,7 @@ export const ItemCard = ({
enableMultiSelect={enableMultiSelect} enableMultiSelect={enableMultiSelect}
enableNavigation={enableNavigation} enableNavigation={enableNavigation}
imageAsLink={imageAsLink} imageAsLink={imageAsLink}
imageFetchPriority={imageFetchPriority}
imageUrl={imageUrl} imageUrl={imageUrl}
internalState={internalState} internalState={internalState}
isRound={isRound} isRound={isRound}
@@ -121,6 +124,7 @@ export const ItemCard = ({
enableMultiSelect={enableMultiSelect} enableMultiSelect={enableMultiSelect}
enableNavigation={enableNavigation} enableNavigation={enableNavigation}
imageAsLink={imageAsLink} imageAsLink={imageAsLink}
imageFetchPriority={imageFetchPriority}
imageUrl={imageUrl} imageUrl={imageUrl}
internalState={internalState} internalState={internalState}
isRound={isRound} isRound={isRound}
@@ -140,6 +144,7 @@ export const ItemCard = ({
enableExpansion={enableExpansion} enableExpansion={enableExpansion}
enableNavigation={enableNavigation} enableNavigation={enableNavigation}
imageAsLink={imageAsLink} imageAsLink={imageAsLink}
imageFetchPriority={imageFetchPriority}
imageUrl={imageUrl} imageUrl={imageUrl}
internalState={internalState} internalState={internalState}
isRound={isRound} isRound={isRound}
@@ -157,6 +162,7 @@ export interface ItemCardDerivativeProps extends Omit<ItemCardProps, 'type'> {
enableExpansion?: boolean; enableExpansion?: boolean;
enableNavigation?: boolean; enableNavigation?: boolean;
imageAsLink?: boolean; imageAsLink?: boolean;
imageFetchPriority?: 'auto' | 'high' | 'low';
imageUrl: string | undefined; imageUrl: string | undefined;
internalState?: ItemListStateActions; internalState?: ItemListStateActions;
rows: DataRow[]; rows: DataRow[];
@@ -171,6 +177,7 @@ const CompactItemCard = ({
enableMultiSelect, enableMultiSelect,
enableNavigation, enableNavigation,
imageAsLink, imageAsLink,
imageFetchPriority,
internalState, internalState,
isRound, isRound,
itemType, itemType,
@@ -365,6 +372,7 @@ const CompactItemCard = ({
explicitStatus={ explicitStatus={
'explicitStatus' in data && data ? data.explicitStatus : null 'explicitStatus' in data && data ? data.explicitStatus : null
} }
fetchPriority={imageFetchPriority}
id={data?.imageId} id={data?.imageId}
itemType={itemType} itemType={itemType}
src={(data as Album | AlbumArtist | Playlist | Song)?.imageUrl} src={(data as Album | AlbumArtist | Playlist | Song)?.imageUrl}
@@ -475,6 +483,7 @@ const DefaultItemCard = ({
enableExpansion, enableExpansion,
enableNavigation, enableNavigation,
imageAsLink, imageAsLink,
imageFetchPriority,
internalState, internalState,
isRound, isRound,
itemType, itemType,
@@ -602,6 +611,7 @@ const DefaultItemCard = ({
explicitStatus={ explicitStatus={
'explicitStatus' in data && data ? data.explicitStatus : null 'explicitStatus' in data && data ? data.explicitStatus : null
} }
fetchPriority={imageFetchPriority}
id={data?.imageId} id={data?.imageId}
itemType={itemType} itemType={itemType}
src={(data as Album | AlbumArtist | Playlist | Song)?.imageUrl} src={(data as Album | AlbumArtist | Playlist | Song)?.imageUrl}
@@ -710,6 +720,7 @@ const PosterItemCard = ({
enableMultiSelect, enableMultiSelect,
enableNavigation, enableNavigation,
imageAsLink, imageAsLink,
imageFetchPriority,
internalState, internalState,
isRound, isRound,
itemType, itemType,
@@ -902,6 +913,7 @@ const PosterItemCard = ({
explicitStatus={ explicitStatus={
'explicitStatus' in data && data ? data.explicitStatus : null 'explicitStatus' in data && data ? data.explicitStatus : null
} }
fetchPriority={imageFetchPriority}
id={(data as { imageId: string })?.imageId} id={(data as { imageId: string })?.imageId}
itemType={itemType} itemType={itemType}
src={(data as { imageUrl: string })?.imageUrl} src={(data as { imageUrl: string })?.imageUrl}
@@ -31,6 +31,7 @@ export function AlbumGridCarousel(props: AlbumGridCarouselProps) {
data={album} data={album}
enableDrag enableDrag
enableExpansion enableExpansion
imageFetchPriority="low"
itemType={LibraryItem.ALBUM} itemType={LibraryItem.ALBUM}
rows={rows} rows={rows}
type="poster" type="poster"
@@ -70,6 +70,7 @@ const BaseAlbumInfiniteCarousel = (props: AlbumCarouselProps & { rows: DataRow[]
data={album} data={album}
enableDrag enableDrag
enableExpansion enableExpansion
imageFetchPriority="low"
itemType={LibraryItem.ALBUM} itemType={LibraryItem.ALBUM}
rows={rows} rows={rows}
type="poster" type="poster"
@@ -69,6 +69,7 @@ const BaseAlbumArtistInfiniteCarousel = (props: AlbumArtistCarouselProps & { row
controls={controls} controls={controls}
data={albumArtist} data={albumArtist}
enableDrag enableDrag
imageFetchPriority="low"
itemType={LibraryItem.ALBUM_ARTIST} itemType={LibraryItem.ALBUM_ARTIST}
rows={rows} rows={rows}
type="poster" type="poster"
@@ -86,6 +86,7 @@ const BaseSongInfiniteCarousel = (props: SongCarouselProps & { rows: DataRow[] }
controls={controls} controls={controls}
data={song} data={song}
enableDrag enableDrag
imageFetchPriority="low"
itemType={LibraryItem.SONG} itemType={LibraryItem.SONG}
rows={rows} rows={rows}
type="poster" type="poster"