import classNames from "classnames"; import React from "react"; import { getResourceType, getResourceUrl } from "@/utils/resource"; import Icon from "./Icon"; import showPreviewImageDialog from "./PreviewImageDialog"; import SquareDiv from "./kit/SquareDiv"; interface Props { resource: Resource; className?: string; strokeWidth?: number; } const ResourceIcon = (props: Props) => { const { resource } = props; const resourceType = getResourceType(resource); const resourceUrl = getResourceUrl(resource); const className = classNames("w-full h-auto", props.className); const strokeWidth = props.strokeWidth; switch (resourceType) { case "image/*": return ( showPreviewImageDialog(resourceUrl)} /> ); case "video/*": return ; case "audio/*": return ; case "text/*": return ; case "application/epub+zip": return ; case "application/pdf": return ; case "application/msword": return ; case "application/msexcel": return ; case "application/zip": return ; case "application/x-java-archive": return ; default: return ; } }; export default React.memo(ResourceIcon);