mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-16 16:34:24 +02:00
set low fetchPriority for carousel images
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user