const React = require("react") const prettyBytes = require("pretty-bytes") const getFileContentType = require("../utils/getFileContentType") const e = React.createElement const formatTime = time => new Date(time).toISOString() const DirectoryListing = ({ dir, entries }) => { const rows = entries.map(({ file, stats }, index) => { const isDir = stats.isDirectory() const href = file + (isDir ? "/" : "") return e( "tr", { key: file, className: index % 2 ? "odd" : "even" }, e("td", null, e("a", { title: file, href }, file)), e("td", null, isDir ? "-" : getFileContentType(file)), e("td", null, isDir ? "-" : prettyBytes(stats.size)), e("td", null, isDir ? "-" : formatTime(stats.mtime)) ) }) if (dir !== "/") rows.unshift( e( "tr", { key: "..", className: "odd" }, e("td", null, e("a", { title: "Parent directory", href: "../" }, "..")), e("td", null, "-"), e("td", null, "-"), e("td", null, "-") ) ) return e( "table", null, e( "thead", null, e( "tr", null, e("th", null, "Name"), e("th", null, "Type"), e("th", null, "Size"), e("th", null, "Last Modified") ) ), e("tbody", null, rows) ) } module.exports = DirectoryListing