import { h, Component } from 'preact' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' import { Link } from 'react-router-dom'; import moment from 'moment' import * as util from '../util' const defaultFields = new Set(['date', 'size']) export const FileList = (props) => { const { files, fields, linkFiles, title, onClick, className="" } = props const fileList = (files || []).map(file => ) return (
{files.length ? (title &&

{title}

) :

No files

}
{(loading || error) && status}
{fileList}
) } export const FileRow = (props) => { const { file, linkFiles, onClick } = props const fields = props.fields || defaultFields const size = util.hush_size(file.size) const date = file.created_at const username = file.username || "" return (
{(linkFiles && file.url) ? {file.name || file.url} : onClick(file)}>{file.name || file.url} }
{fields.has('age') &&
{util.get_age(date)}
} {fields.has('username') &&
{username}
} {fields.has('date') &&
{moment(date).format("YYYY-MM-DD")}
} {fields.has('datetime') &&
{moment(date).format("YYYY-MM-DD h:mm a")}
} {fields.has('size') &&
{size[1]}
} {fields.has('epoch') &&
{file.epoch > 0 ? 'epoch ' + file.epoch : ' '}
} {(fields.has('activity') || fields.has('module')) &&
{fields.has('activity') && file.activity} {fields.has('module') && file.module}
} {this.props.options && this.props.options(file)}
) }