const { h } = require('preact')
const prettyBytes = require('@uppy/utils/lib/prettyBytes')
const truncateString = require('../../../utils/truncateString')
const renderAcquirerIcon = (acquirer, props) =>
{acquirer.icon()}
const renderFileSource = (props) => (
props.file.source &&
props.file.source !== props.id &&
{props.acquirers.map(acquirer => {
if (acquirer.id === props.file.source) {
return renderAcquirerIcon(acquirer, props)
}
})}
)
const renderFileName = (props) => {
// Take up at most 2 lines on any screen
let maxNameLength
// For very small mobile screens
if (props.containerWidth <= 352) {
maxNameLength = 35
// For regular mobile screens
} else if (props.containerWidth <= 576) {
maxNameLength = 60
// For desktops
} else {
maxNameLength = 30
}
return (
{truncateString(props.file.meta.name, maxNameLength)}
)
}
const renderFileSize = (props) => (
props.file.data.size &&
{prettyBytes(props.file.data.size)}
)
module.exports = function FileInfo (props) {
return (
{renderFileName(props)}
{renderFileSize(props)}
{renderFileSource(props)}
)
}