* 🔧 Updated date for PullList on Dashboard * 🔧 Fixes for broken image paths * ⬆️ Bumped deps, removed useless ones
106 lines
3.3 KiB
TypeScript
106 lines
3.3 KiB
TypeScript
import React, { ReactElement } from "react";
|
|
import PropTypes from "prop-types";
|
|
import prettyBytes from "pretty-bytes";
|
|
import { isEmpty } from "lodash";
|
|
|
|
export const RawFileDetails = (props): ReactElement => {
|
|
const { rawFileDetails, inferredMetadata } = props.data;
|
|
return (
|
|
<>
|
|
<div className="comic-detail raw-file-details column is-three-fifths">
|
|
<dl>
|
|
<dt>Raw File Details</dt>
|
|
<dd className="is-size-7">
|
|
{rawFileDetails.containedIn +
|
|
"/" +
|
|
rawFileDetails.name +
|
|
rawFileDetails.extension}
|
|
</dd>
|
|
<dd>
|
|
<div className="field is-grouped mt-2">
|
|
<div className="control">
|
|
<div className="tags has-addons">
|
|
<span className="tag">Size</span>
|
|
<span className="tag is-info is-light">
|
|
{prettyBytes(rawFileDetails.fileSize)}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div className="control">
|
|
<div className="tags has-addons">
|
|
<span className="tag">Extension</span>
|
|
<span className="tag is-primary is-light">
|
|
{rawFileDetails.extension}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div className="control">
|
|
<div className="tags has-addons">
|
|
<span className="tag">MIME type</span>
|
|
<span className="tag is-primary is-light">
|
|
{rawFileDetails.mimeType}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<div className="content comic-detail raw-file-details mt-3 column is-three-fifths">
|
|
<dl>
|
|
{/* inferred metadata */}
|
|
<dt>Inferred Issue Metadata</dt>
|
|
<dd>
|
|
<div className="field is-grouped mt-2">
|
|
<div className="control">
|
|
<div className="tags has-addons">
|
|
<span className="tag">Name</span>
|
|
<span className="tag is-info is-light">
|
|
{inferredMetadata.issue.name}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
{!isEmpty(inferredMetadata.issue.number) ? (
|
|
<div className="control">
|
|
<div className="tags has-addons">
|
|
<span className="tag">Number</span>
|
|
<span className="tag is-primary is-light">
|
|
{inferredMetadata.issue.number}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
) : null}
|
|
</div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default RawFileDetails;
|
|
|
|
RawFileDetails.propTypes = {
|
|
data: PropTypes.shape({
|
|
rawFileDetails: PropTypes.shape({
|
|
containedIn: PropTypes.string,
|
|
name: PropTypes.string,
|
|
fileSize: PropTypes.number,
|
|
path: PropTypes.string,
|
|
extension: PropTypes.string,
|
|
mimeType: PropTypes.string,
|
|
cover: PropTypes.shape({
|
|
filePath: PropTypes.string,
|
|
}),
|
|
}),
|
|
inferredMetadata: PropTypes.shape({
|
|
issue: PropTypes.shape({
|
|
year: PropTypes.string,
|
|
name: PropTypes.string,
|
|
number: PropTypes.number,
|
|
subtitle: PropTypes.string,
|
|
}),
|
|
}),
|
|
}),
|
|
}; |