import React from 'react'; import moment from 'moment'; import formatFileSize from 'filesize'; interface Props { fileName?: string | null; fileSize?: number; i18n: (key: string, values?: Array) => string; isLast: boolean; onClick?: () => void; timestamp: number; } const styles = { container: { width: '100%', height: 72, }, containerSeparator: { borderBottomWidth: 1, borderBottomColor: '#ccc', borderBottomStyle: 'solid', }, itemContainer: { cursor: 'pointer', display: 'flex', flexDirection: 'row', flexWrap: 'nowrap', alignItems: 'center', height: '100%', } as React.CSSProperties, itemMetadata: { display: 'inline-flex', flexDirection: 'column', flexGrow: 1, flexShrink: 0, marginLeft: 8, marginRight: 8, } as React.CSSProperties, itemDate: { display: 'inline-block', flexShrink: 0, }, itemIcon: { flexShrink: 0, }, itemFileName: { fontWeight: 'bold', } as React.CSSProperties, itemFileSize: { display: 'inline-block', marginTop: 8, fontSize: '80%', }, }; export class DocumentListItem extends React.Component { public renderContent() { const { fileName, fileSize, timestamp } = this.props; return (
{fileName} {typeof fileSize === 'number' ? formatFileSize(fileSize) : ''}
{moment(timestamp).format('ddd, MMM D, Y')}
); } public render() { const { isLast } = this.props; return (
{this.renderContent()}
); } }