[WEB-4137] chore: restrict SVG file selection (#7095)
* chore: update accepted file mime types * chore: update accepted file mime types
This commit is contained in:
parent
cd200169b6
commit
6eb0b5ddb0
4 changed files with 19 additions and 12 deletions
|
|
@ -1 +1,14 @@
|
||||||
export const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
|
export const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
|
||||||
|
|
||||||
|
export const ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE = {
|
||||||
|
"image/jpeg": [],
|
||||||
|
"image/jpg": [],
|
||||||
|
"image/png": [],
|
||||||
|
"image/webp": [],
|
||||||
|
};
|
||||||
|
export const ACCEPTED_COVER_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE = {
|
||||||
|
"image/jpeg": [],
|
||||||
|
"image/jpg": [],
|
||||||
|
"image/png": [],
|
||||||
|
"image/webp": [],
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { Control, Controller } from "react-hook-form";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
import { Tab, Popover } from "@headlessui/react";
|
import { Tab, Popover } from "@headlessui/react";
|
||||||
// plane imports
|
// plane imports
|
||||||
import { MAX_FILE_SIZE } from "@plane/constants";
|
import { ACCEPTED_COVER_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants";
|
||||||
import { useOutsideClickDetector } from "@plane/hooks";
|
import { useOutsideClickDetector } from "@plane/hooks";
|
||||||
// plane types
|
// plane types
|
||||||
import { EFileAssetType } from "@plane/types/src/enums";
|
import { EFileAssetType } from "@plane/types/src/enums";
|
||||||
|
|
@ -88,9 +88,7 @@ export const ImagePickerPopover: React.FC<Props> = observer((props) => {
|
||||||
|
|
||||||
const { getRootProps, getInputProps, isDragActive, fileRejections } = useDropzone({
|
const { getRootProps, getInputProps, isDragActive, fileRejections } = useDropzone({
|
||||||
onDrop,
|
onDrop,
|
||||||
accept: {
|
accept: ACCEPTED_COVER_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE,
|
||||||
"image/*": [".png", ".jpg", ".jpeg", ".webp"],
|
|
||||||
},
|
|
||||||
maxSize: MAX_FILE_SIZE,
|
maxSize: MAX_FILE_SIZE,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { useDropzone } from "react-dropzone";
|
||||||
import { UserCircle2 } from "lucide-react";
|
import { UserCircle2 } from "lucide-react";
|
||||||
import { Transition, Dialog } from "@headlessui/react";
|
import { Transition, Dialog } from "@headlessui/react";
|
||||||
// plane imports
|
// plane imports
|
||||||
import { MAX_FILE_SIZE } from "@plane/constants";
|
import { ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants";
|
||||||
import { EFileAssetType } from "@plane/types/src/enums";
|
import { EFileAssetType } from "@plane/types/src/enums";
|
||||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// helpers
|
// helpers
|
||||||
|
|
@ -35,9 +35,7 @@ export const UserImageUploadModal: React.FC<Props> = observer((props) => {
|
||||||
|
|
||||||
const { getRootProps, getInputProps, isDragActive, fileRejections } = useDropzone({
|
const { getRootProps, getInputProps, isDragActive, fileRejections } = useDropzone({
|
||||||
onDrop,
|
onDrop,
|
||||||
accept: {
|
accept: ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE,
|
||||||
"image/*": [".png", ".jpg", ".jpeg", ".webp"],
|
|
||||||
},
|
|
||||||
maxSize: MAX_FILE_SIZE,
|
maxSize: MAX_FILE_SIZE,
|
||||||
multiple: false,
|
multiple: false,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { useDropzone } from "react-dropzone";
|
||||||
import { UserCircle2 } from "lucide-react";
|
import { UserCircle2 } from "lucide-react";
|
||||||
import { Transition, Dialog } from "@headlessui/react";
|
import { Transition, Dialog } from "@headlessui/react";
|
||||||
// plane imports
|
// plane imports
|
||||||
import { MAX_FILE_SIZE } from "@plane/constants";
|
import { ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants";
|
||||||
import { EFileAssetType } from "@plane/types/src/enums";
|
import { EFileAssetType } from "@plane/types/src/enums";
|
||||||
import { Button } from "@plane/ui";
|
import { Button } from "@plane/ui";
|
||||||
// helpers
|
// helpers
|
||||||
|
|
@ -43,9 +43,7 @@ export const WorkspaceImageUploadModal: React.FC<Props> = observer((props) => {
|
||||||
|
|
||||||
const { getRootProps, getInputProps, isDragActive, fileRejections } = useDropzone({
|
const { getRootProps, getInputProps, isDragActive, fileRejections } = useDropzone({
|
||||||
onDrop,
|
onDrop,
|
||||||
accept: {
|
accept: ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE,
|
||||||
"image/*": [".png", ".jpg", ".jpeg", ".webp"],
|
|
||||||
},
|
|
||||||
maxSize: MAX_FILE_SIZE,
|
maxSize: MAX_FILE_SIZE,
|
||||||
multiple: false,
|
multiple: false,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue