refactor: upload Modal

This commit is contained in:
zerosoul
2022-03-28 20:43:32 +08:00
parent 28bc1cfbcd
commit d07b0e9e91
7 changed files with 157 additions and 137 deletions
@@ -0,0 +1,34 @@
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>
);
}