[MM-56298] Convert ./components/file_attachment/file_thumbnail/file_thumbnail.tsx from Class Component to Function Component (#25761)

* [MM-56298] Convert `./components/file_attachment/file_thumbnail/file_thumbnail.tsx` from Class Component to Function Component

* refactor: implement code review changes
Этот коммит содержится в:
Syed Ali Abbas Zaidi
2023-12-21 15:13:08 +05:00
коммит произвёл GitHub
родитель ab6e206a51
Коммит cac50f593b
3 изменённых файлов: 46 добавлений и 47 удалений

Просмотреть файл

@@ -10,7 +10,7 @@ exports[`FileAttachment should match snapshot, after change from file to image 1
href="#"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,
@@ -99,7 +99,7 @@ exports[`FileAttachment should match snapshot, regular file 1`] = `
href="#"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,
@@ -332,7 +332,7 @@ exports[`FileAttachment should match snapshot, svg image 1`] = `
href="#"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,
@@ -532,7 +532,7 @@ exports[`FileAttachment should match snapshot, without compact display and witho
href="#"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,

Просмотреть файл

@@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import React, {memo} from 'react';
import type {FileInfo} from '@mattermost/types/files';
@@ -19,12 +19,12 @@ type Props = {
fileInfo: FileInfo;
}
export default class FileThumbnail extends React.PureComponent<Props> {
render() {
const {fileInfo} = this.props;
const FileThumbnail = ({
fileInfo,
enableSVGs,
}: Props) => {
const type = getFileType(fileInfo.extension);
let thumbnail;
if (type === FileTypes.IMAGE) {
let className = 'post-image';
@@ -48,18 +48,17 @@ export default class FileThumbnail extends React.PureComponent<Props> {
}}
/>
);
} else if (fileInfo.extension === FileTypes.SVG && this.props.enableSVGs) {
thumbnail = (
} else if (fileInfo.extension === FileTypes.SVG && enableSVGs) {
return (
<img
alt={'file thumbnail image'}
className='post-image normal'
src={getFileUrl(fileInfo.id)}
/>
);
} else {
thumbnail = <div className={'file-icon ' + getIconClassName(type)}/>;
}
return thumbnail;
}
}
return <div className={'file-icon ' + getIconClassName(type)}/>;
};
export default memo(FileThumbnail);

Просмотреть файл

@@ -9,7 +9,7 @@ exports[`components/file_search_result/FileSearchResultItem should match snapsho
className="FileSearchResultItem"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,
@@ -167,7 +167,7 @@ exports[`components/file_search_result/FileSearchResultItem should match snapsho
className="FileSearchResultItem"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,
@@ -334,7 +334,7 @@ exports[`components/file_search_result/FileSearchResultItem should match snapsho
className="FileSearchResultItem"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,
@@ -501,7 +501,7 @@ exports[`components/file_search_result/FileSearchResultItem should match snapsho
className="FileSearchResultItem"
onClick={[Function]}
>
<Connect(FileThumbnail)
<Connect(Component)
fileInfo={
Object {
"archived": false,