Spaces:
Sleeping
Sleeping
File size: 1,195 Bytes
13555f3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React, {useCallback} from 'react'
import {FileInfo} from '../../../blocks/block'
import BrokenFile from '../../../widgets/icons/brokenFile'
import {Utils} from '../../../utils'
import './archivedFile.scss'
type Props = {
fileInfo: FileInfo
}
const ArchivedFile = (props: Props): JSX.Element => {
const fileName = useCallback(() => props.fileInfo.name || 'untitled file', [props.fileInfo.name])
const fileExtension = useCallback(() => {
let extension = props.fileInfo.extension
extension = extension?.startsWith('.') ? extension?.substring(1) : extension
return extension?.toUpperCase()
}, [props.fileInfo.extension])
const fileSize = useCallback(() => Utils.humanFileSize(props.fileInfo.size || 0), [props.fileInfo.size])
return (
<div className='ArchivedFile'>
<BrokenFile/>
<div className='fileMetadata'>
<p className='filename'>{fileName()}</p>
<p>{fileExtension()} {fileSize()}</p>
</div>
</div>
)
}
export default ArchivedFile
|