no need to pass complete files list to getThumbnail

This commit is contained in:
Abhinav 2023-02-04 12:37:42 +05:30
parent 8758671a9b
commit 806abcd7be
2 changed files with 25 additions and 35 deletions

View file

@ -546,41 +546,31 @@ const PhotoFrame = ({
} }
}; };
const getThumbnail = ( const getThumbnail = (
files: EnteFile[], item: EnteFile,
index: number, index: number,
isScrolling: boolean isScrolling: boolean
) => ) => (
files[index] ? ( <PreviewCard
<PreviewCard key={`tile-${item.id}-selected-${selected[item.id] ?? false}`}
key={`tile-${files[index].id}-selected-${ file={item}
selected[files[index].id] ?? false updateURL={updateURL(index)}
}`} onClick={onThumbnailClick(index)}
file={files[index]} onSelect={handleSelect(item.id, item.ownerID === user.id, index)}
updateURL={updateURL(index)} selected={
onClick={onThumbnailClick(index)} selected.collectionID === activeCollection && selected[item.id]
onSelect={handleSelect( }
files[index].id, selectOnClick={selected.count > 0}
files[index].ownerID === user.id, onHover={onHoverOver(index)}
index onRangeSelect={handleRangeSelect(index)}
)} isRangeSelectActive={isShiftKeyPressed && selected.count > 0}
selected={ isInsSelectRange={
selected.collectionID === activeCollection && (index >= rangeStart && index <= currentHover) ||
selected[files[index].id] (index >= currentHover && index <= rangeStart)
} }
selectOnClick={selected.count > 0} activeCollection={activeCollection}
onHover={onHoverOver(index)} showPlaceholder={isScrolling}
onRangeSelect={handleRangeSelect(index)} />
isRangeSelectActive={isShiftKeyPressed && selected.count > 0} );
isInsSelectRange={
(index >= rangeStart && index <= currentHover) ||
(index >= currentHover && index <= rangeStart)
}
activeCollection={activeCollection}
showPlaceholder={isScrolling}
/>
) : (
<></>
);
const getSlideData = async ( const getSlideData = async (
instance: PhotoSwipe<PhotoSwipe.Options>, instance: PhotoSwipe<PhotoSwipe.Options>,

View file

@ -163,7 +163,7 @@ interface Props {
filteredData: EnteFile[]; filteredData: EnteFile[];
showAppDownloadBanner: boolean; showAppDownloadBanner: boolean;
getThumbnail: ( getThumbnail: (
files: EnteFile[], file: EnteFile,
index: number, index: number,
isScrolling?: boolean isScrolling?: boolean
) => JSX.Element; ) => JSX.Element;
@ -654,7 +654,7 @@ export function PhotoList({
case ITEM_TYPE.FILE: { case ITEM_TYPE.FILE: {
const ret = listItem.items.map((item, idx) => const ret = listItem.items.map((item, idx) =>
getThumbnail( getThumbnail(
filteredData, item,
listItem.itemStartIndex + idx, listItem.itemStartIndex + idx,
isScrolling isScrolling
) )