import Image from "./Image"; import Icon from "./Icon"; import "../less/memo-resources.less"; interface Props { resourceList: Resource[]; className?: string; style?: "row" | "col"; } const getDefaultProps = (): Props => { return { className: "", style: "row", resourceList: [], }; }; const MemoResources: React.FC = (props: Props) => { const { className, style, resourceList } = { ...getDefaultProps(), ...props, }; const imageList = resourceList.filter((resource) => resource.type.includes("image")); const otherResourceList = resourceList.filter((resource) => !resource.type.includes("image")); const handlPreviewBtnClick = (resource: Resource) => { const resourceUrl = `${window.location.origin}/o/r/${resource.id}/${resource.filename}`; window.open(resourceUrl); }; const imgUrls = imageList.map((resource) => { return `/o/r/${resource.id}/${resource.filename}`; }); return (
{imageList.length > 0 && (
{imageList.map((resource, index) => ( ))}
)}
{otherResourceList.map((resource) => { return (
handlPreviewBtnClick(resource)}> {resource.filename}
); })}
); }; export default MemoResources;