feat: add support for webp file format in file inputs (#3117)

Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
This commit is contained in:
Piyush Gupta
2024-09-11 14:23:05 +05:30
committed by GitHub
parent 07b5dfe28a
commit 61d18edb5d
7 changed files with 10 additions and 9 deletions

View File

@@ -110,7 +110,7 @@ export const EditWelcomeCard = ({
<div className="mt-3 flex w-full items-center justify-center">
<FileInput
id="welcome-card-image"
allowedFileExtensions={["png", "jpeg", "jpg"]}
allowedFileExtensions={["png", "jpeg", "jpg", "webp"]}
environmentId={environmentId}
onFileUpload={(url: string[]) => {
updateSurvey({ fileUrl: url[0] });

View File

@@ -16,7 +16,7 @@ export const UploadImageSurveyBg = ({
<div className="flex w-full items-center justify-center">
<FileInput
id="survey-bg-file-input"
allowedFileExtensions={["png", "jpeg", "jpg"]}
allowedFileExtensions={["png", "jpeg", "jpg", "webp"]}
environmentId={environmentId}
onFileUpload={(url: string[]) => {
if (url.length > 0) {

View File

@@ -139,7 +139,7 @@ export const PictureSelectionForm = ({
<div className="mt-3 flex w-full items-center justify-center">
<FileInput
id="choices-file-input"
allowedFileExtensions={["png", "jpeg", "jpg"]}
allowedFileExtensions={["png", "jpeg", "jpg", "webp"]}
environmentId={environmentId}
onFileUpload={handleFileInputChanges}
fileUrl={question?.choices?.map((choice) => choice.imageUrl)}

View File

@@ -117,7 +117,7 @@ export const EditLogo = ({ product, environmentId, isViewer }: EditLogoProps) =>
) : (
<FileInput
id="logo-input"
allowedFileExtensions={["png", "jpeg", "jpg"]}
allowedFileExtensions={["png", "jpeg", "jpg", "webp"]}
environmentId={environmentId}
onFileUpload={(files: string[]) => {
setLogoUrl(files[0]);
@@ -129,7 +129,7 @@ export const EditLogo = ({ product, environmentId, isViewer }: EditLogoProps) =>
<Input
ref={fileInputRef}
type="file"
accept="image/jpeg, image/png"
accept="image/jpeg, image/png, image/webp"
className="hidden"
onChange={handleFileChange}
/>

View File

@@ -34,9 +34,9 @@ export const EditProfileAvatarForm = ({ session, environmentId, imageUrl }: Edit
.refine((files) => files.length === 1, "You must select a file.")
.refine((files) => {
const file = files[0];
const allowedTypes = ["image/jpeg", "image/png"];
const allowedTypes = ["image/jpeg", "image/png", "image/webp"];
return allowedTypes.includes(file.type);
}, "Invalid file type. Only JPEG and PNG are allowed.")
}, "Invalid file type. Only JPEG, PNG, and WEBP files are allowed.")
.refine((files) => {
const file = files[0];
const maxSize = 10 * 1024 * 1024;
@@ -145,7 +145,7 @@ export const EditProfileAvatarForm = ({ session, environmentId, imageUrl }: Edit
inputRef.current = e;
}}
className="hidden"
accept="image/jpeg, image/png"
accept="image/jpeg, image/png, image/webp"
onChange={(e) => {
field.onChange(e.target.files);
form.handleSubmit(onSubmit)();

View File

@@ -16,6 +16,7 @@ export const ZAllowedFileExtension = z.enum([
"png",
"jpeg",
"jpg",
"webp",
"pdf",
"doc",
"docx",

View File

@@ -428,7 +428,7 @@ export const QuestionFormInput = ({
{showImageUploader && id === "headline" && (
<FileInput
id="question-image"
allowedFileExtensions={["png", "jpeg", "jpg"]}
allowedFileExtensions={["png", "jpeg", "jpg", "webp"]}
environmentId={localSurvey.environmentId}
onFileUpload={(url: string[] | undefined, fileType: "image" | "video") => {
if (url) {