Files
ColdBreeze-chat-web/src/common/component/UploadModal/FileItem.js
T
2022-06-12 15:30:14 +08:00

33 lines
953 B
JavaScript

import { useState, useEffect } from "react";
import { formatBytes, isTreatAsImage, getFileIcon } from "../../utils";
export default function FileItem({ file = null }) {
const [icon, setIcon] = useState(null);
useEffect(() => {
if (file) {
const { type, name } = file;
if (isTreatAsImage(file)) {
setIcon(<img src={URL.createObjectURL(file)} alt="thumb" className="thumb" />);
return;
}
console.log("file type", type, name);
setIcon(getFileIcon(type, name));
}
}, [file]);
console.log("current file", file);
if (!file) return null;
const { name, size } = file;
return (
<li className="item">
{icon}
<div className="right">
<div className="name">
<span className="input">{name}</span>
{/* <i className="tip">(click title to change name)</i> */}
</div>
<i className="size">{formatBytes(size)}</i>
</div>
</li>
);
}