chore: update image checks (#2092)

This commit is contained in:
boojack 2023-08-06 10:38:39 +08:00 committed by GitHub
parent 5d5d8de9fe
commit 726300394b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View File

@ -1,5 +1,5 @@
import classNames from "classnames";
import { getResourceUrl } from "@/utils/resource";
import { getResourceType, getResourceUrl } from "@/utils/resource";
import Icon from "./Icon";
import showPreviewImageDialog from "./PreviewImageDialog";
import SquareDiv from "./kit/SquareDiv";
@ -12,7 +12,7 @@ interface Props {
const ResourceIcon = (props: Props) => {
const { className, resource } = props;
if (resource.type.includes("image")) {
if (getResourceType(resource).startsWith("image")) {
const url = getResourceUrl(resource);
return (
<SquareDiv key={resource.id} className={classNames("cursor-pointer rounded hover:shadow", className)}>

View File

@ -7,7 +7,7 @@ export const getResourceUrl = (resource: Resource, withOrigin = true) => {
};
export const getResourceType = (resource: Resource) => {
if (resource.type.startsWith("image") && isImage(resource.type)) {
if (isImage(resource.type)) {
return "image/*";
} else if (resource.type.startsWith("video")) {
return "video/*";
@ -34,5 +34,10 @@ export const getResourceType = (resource: Resource) => {
// isImage returns true if the given mime type is an image.
export const isImage = (t: string) => {
return t === "image/jpeg" || t === "image/png" || t === "image/gif" || t === "image/svg+xml" || t === "image/webp";
// Don't show PSDs as images.
return t.startsWith("image/") && !isPSD(t);
};
const isPSD = (t: string) => {
return t === "image/vnd.adobe.photoshop" || t === "image/x-photoshop" || t === "image/photoshop";
};