archivedFile.tsx
TLDR
This file defines a React component called ArchivedFile
that displays information about an archived file.
Methods
No methods in this file.
Classes
No classes in this file.
// 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