Skip to content

Commit 0bc092b

Browse files
committed
fix: define fileType as const
1 parent d663c5c commit 0bc092b

File tree

1 file changed

+9
-17
lines changed

1 file changed

+9
-17
lines changed

Diff for: packages/ui/src/elements/Thumbnail/index.tsx

+9-17
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,20 @@ export const Thumbnail: React.FC<ThumbnailProps> = (props) => {
3333
const { className = '', doc: { filename, mimeType } = {}, fileSrc, imageCacheTag, size } = props
3434
const [fileExists, setFileExists] = React.useState(undefined)
3535
const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')
36-
const [type, setType] = React.useState<'audio' | 'document' | 'image' | 'unknown' | 'video'>(
37-
undefined,
38-
)
39-
40-
React.useEffect(() => {
41-
if (mimeType) setType(mimeType.split('/')[0])
42-
}, [mimeType])
36+
const fileType: 'audio' | 'document' | 'image' | 'unknown' | 'video' | false =
37+
mimeType?.split('/')[0]
4338

4439
React.useEffect(() => {
45-
if (!fileSrc || !type) {
40+
if (!fileSrc || !fileType) {
4641
setFileExists(false)
4742
return
4843
}
49-
if (type === 'image') {
44+
if (fileType === 'image') {
5045
const img = new Image()
5146
img.src = fileSrc
5247
img.onload = () => setFileExists(true)
5348
img.onerror = () => setFileExists(false)
54-
} else if (type === 'video') {
49+
} else if (fileType === 'video') {
5550
const video = document.createElement('video')
5651
video.src = fileSrc
5752
video.crossOrigin = 'anonymous'
@@ -60,18 +55,15 @@ export const Thumbnail: React.FC<ThumbnailProps> = (props) => {
6055
} else {
6156
setFileExists(false)
6257
}
63-
}, [fileSrc, type])
58+
}, [fileSrc])
6459

6560
return (
6661
<div className={classNames}>
6762
{fileExists === undefined && <ShimmerEffect height="100%" />}
68-
{fileExists && type === 'image' && (
69-
<img
70-
alt={filename as string}
71-
src={`${fileSrc}${imageCacheTag ? `?${imageCacheTag}` : ''}`}
72-
/>
63+
{fileExists && fileType === 'image' && (
64+
<img alt={filename} src={`${fileSrc}${imageCacheTag ? `?${imageCacheTag}` : ''}`} />
7365
)}
74-
{fileExists && type === 'video' && (
66+
{fileExists && fileType === 'video' && (
7567
<video
7668
autoPlay={false}
7769
controls={false}

0 commit comments

Comments
 (0)