diff --git a/frontend/app/chat/_components/chat-input.tsx b/frontend/app/chat/_components/chat-input.tsx index 5796474a..50a6097d 100644 --- a/frontend/app/chat/_components/chat-input.tsx +++ b/frontend/app/chat/_components/chat-input.tsx @@ -3,6 +3,7 @@ import { AnimatePresence, motion } from "motion/react"; import { forwardRef, useImperativeHandle, useRef, useState } from "react"; import { useDropzone } from "react-dropzone"; import TextareaAutosize from "react-textarea-autosize"; +import { toast } from "sonner"; import type { FilterColor } from "@/components/filter-icon-popover"; import { Button } from "@/components/ui/button"; import { @@ -75,7 +76,6 @@ export const ChatInput = forwardRef( const inputRef = useRef(null); const fileInputRef = useRef(null); const [textareaHeight, setTextareaHeight] = useState(0); - const [fileUploadError, setFileUploadError] = useState(null); const isDragging = useFileDrag(); const { getRootProps, getInputProps } = useDropzone({ @@ -89,11 +89,9 @@ export const ChatInput = forwardRef( maxFiles: 1, disabled: !isDragging, onDrop: (acceptedFiles, fileRejections) => { - setFileUploadError(null); if (fileRejections.length > 0) { - console.log(fileRejections); const message = fileRejections.at(0)?.errors.at(0)?.message; - setFileUploadError(new Error(message)); + toast.error(message || "Failed to upload file"); return; } onFileSelected(acceptedFiles[0]); @@ -110,7 +108,6 @@ export const ChatInput = forwardRef( })); const handleFilePickerChange = (e: React.ChangeEvent) => { - setFileUploadError(null); const files = e.target.files; if (files && files.length > 0) { onFileSelected(files[0]); @@ -151,18 +148,6 @@ export const ChatInput = forwardRef( )} - - {fileUploadError && ( - - {fileUploadError.message} - - )} - {isDragging && (