Skip to content

Commit 9692c5e

Browse files
Aries-0331zhouwenxuan
andauthored
optimize thumbnail size in gallery (#7486)
Co-authored-by: zhouwenxuan <[email protected]>
1 parent c957dd2 commit 9692c5e

File tree

5 files changed

+17
-9
lines changed

5 files changed

+17
-9
lines changed

frontend/src/metadata/views/gallery/content.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ const Content = ({
169169
isSelected={isSelected}
170170
img={img}
171171
size={size.large}
172+
useOriginalThumbnail={children.length === 1}
172173
style={mode !== GALLERY_DATE_MODE.ALL && newChildren.length === 1 ? { width: '100%' } : {}}
173174
{ ...imgEvents }
174175
/>

frontend/src/metadata/views/gallery/day-images/images-grid.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ const ImagesGrid = ({ images, selectedImageIds, size, imgEvents }) => {
5555

5656
return (
5757
<>
58-
<Image key={firstImg.id} isSelected={selectedImageIds.includes(firstImg.id)} img={firstImg} size={size.large} style={{ gridRow: 1 / 3, gridColumn: `${1 + firstImgOffset} / ${3 + firstImgOffset}` }} {...imgEvents} />
59-
<Image key={secondImg.id} isSelected={selectedImageIds.includes(secondImg.id)} img={secondImg} size={size.middle} style={style[0]} {...imgEvents} />
58+
<Image key={firstImg.id} isSelected={selectedImageIds.includes(firstImg.id)} img={firstImg} size={size.large} useOriginalThumbnail={true} style={{ gridRow: 1 / 3, gridColumn: `${1 + firstImgOffset} / ${3 + firstImgOffset}` }} {...imgEvents} />
59+
<Image key={secondImg.id} isSelected={selectedImageIds.includes(secondImg.id)} img={secondImg} size={size.middle} useOriginalThumbnail={true} style={style[0]} {...imgEvents} />
6060
{others.slice(0, 5).map((image, index) => {
6161
return (<Image key={image.id} isSelected={selectedImageIds.includes(image.id)} img={image} size={size.small} style={style[index + 1] || {}} {...imgEvents} />);
6262
})}
@@ -194,8 +194,8 @@ const ImagesGrid = ({ images, selectedImageIds, size, imgEvents }) => {
194194

195195
return (
196196
<>
197-
<Image key={firstImg.id} isSelected={selectedImageIds.includes(firstImg.id)} img={firstImg} size={size.middle} style={style[0]} {...imgEvents} />
198-
<Image key={secondImg.id} isSelected={selectedImageIds.includes(secondImg.id)} img={secondImg} size={size.middle} style={style[1]} {...imgEvents} />
197+
<Image key={firstImg.id} isSelected={selectedImageIds.includes(firstImg.id)} img={firstImg} size={size.middle} useOriginalThumbnail={true} style={style[0]} {...imgEvents} />
198+
<Image key={secondImg.id} isSelected={selectedImageIds.includes(secondImg.id)} img={secondImg} size={size.middle} useOriginalThumbnail={true} style={style[1]} {...imgEvents} />
199199
{others.slice(0, 10).map((image, index) => {
200200
return (<Image key={image.id} isSelected={selectedImageIds.includes(image.id)} img={image} size={size.small} style={style[index + 2] || {}} {...imgEvents} />);
201201
})}

frontend/src/metadata/views/gallery/day-images/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ const DayImages = ({ size, selectedImageIds, images, imgEvents }) => {
88
if (imagesCount === 0) return null;
99
if (imagesCount === 1) {
1010
const img = images[0];
11-
return (<Image isSelected={selectedImageIds.includes(img.id)} img={img} size={size.large} style={{ width: '100%' }} {...imgEvents} />);
11+
return (<Image isSelected={selectedImageIds.includes(img.id)} img={img} size={size.large} useOriginalThumbnail={true} style={{ width: '100%' }} {...imgEvents} />);
1212
}
1313

1414
if (imagesCount < 7) {
1515
const imgs = images.slice(0, 2);
16-
return imgs.map(img => (<Image key={img.id} isSelected={selectedImageIds.includes(img.id)} img={img} size={size.large} {...imgEvents} />));
16+
return imgs.map(img => (<Image key={img.id} isSelected={selectedImageIds.includes(img.id)} img={img} size={size.large} useOriginalThumbnail={true} {...imgEvents} />));
1717
}
1818

1919
return (<ImagesGrid selectedImageIds={selectedImageIds} images={images} size={size} imgEvents={imgEvents} />);

frontend/src/metadata/views/gallery/image.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const Image = ({
66
isSelected,
77
img,
88
size,
9+
useOriginalThumbnail,
910
style,
1011
onClick,
1112
onDoubleClick,
@@ -31,7 +32,7 @@ const Image = ({
3132
>
3233
<img
3334
className="metadata-gallery-grid-image"
34-
src={img.src}
35+
src={useOriginalThumbnail ? img.thumbnail : img.src}
3536
alt={img.name}
3637
draggable="false"
3738
onLoad={onLoad}
@@ -45,6 +46,7 @@ Image.propTypes = {
4546
img: PropTypes.object,
4647
size: PropTypes.number,
4748
style: PropTypes.object,
49+
useOriginalThumbnail: PropTypes.bool,
4850
onClick: PropTypes.func,
4951
onDoubleClick: PropTypes.func,
5052
onContextMenu: PropTypes.func,

frontend/src/metadata/views/gallery/main.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import ModalPortal from '../../../components/modal-portal';
77
import { useMetadataView } from '../../hooks/metadata-view';
88
import { Utils } from '../../../utils/utils';
99
import { getDateDisplayString, getFileNameFromRecord, getParentDirFromRecord, getRecordIdFromRecord } from '../../utils/cell';
10-
import { siteRoot, fileServerRoot, thumbnailSizeForGrid, thumbnailSizeForOriginal } from '../../../utils/constants';
10+
import { siteRoot, fileServerRoot, thumbnailSizeForGrid, thumbnailSizeForOriginal, thumbnailDefaultSize } from '../../../utils/constants';
1111
import { EVENT_BUS_TYPE, GALLERY_DATE_MODE, DATE_TAG_HEIGHT, STORAGE_GALLERY_DATE_MODE_KEY, STORAGE_GALLERY_ZOOM_GEAR_KEY } from '../../constants';
1212
import { getRowById } from '../../utils/table';
1313
import { getEventClassName } from '../../utils/common';
@@ -45,7 +45,12 @@ const Main = ({ isLoadingMore, metadata, onDelete, onLoadMore, duplicateRecord,
4545
const id = getRecordIdFromRecord(record);
4646
const fileName = getFileNameFromRecord(record);
4747
const parentDir = getParentDirFromRecord(record);
48-
const size = mode === GALLERY_DATE_MODE.YEAR ? thumbnailSizeForOriginal : thumbnailSizeForGrid;
48+
let size = thumbnailDefaultSize;
49+
if (mode === GALLERY_DATE_MODE.YEAR) {
50+
size = thumbnailSizeForOriginal;
51+
} else if (mode === GALLERY_DATE_MODE.MONTH || mode === GALLERY_DATE_MODE.DAY) {
52+
size = thumbnailSizeForGrid;
53+
}
4954
const path = Utils.encodePath(Utils.joinPath(parentDir, fileName));
5055
const date = getDateDisplayString(record[firstSort.column_key], 'YYYY-MM-DD');
5156
const year = date.slice(0, 4);

0 commit comments

Comments
 (0)