add copy-paste images (#1722)

This commit is contained in:
pablodanswer 2024-06-26 20:12:34 -07:00 committed by GitHub
parent b5aa7370a2
commit 43557f738b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,4 @@
import React, { useEffect, useRef } from "react"; import React, { EventHandler, useEffect, useRef } from "react";
import { FiSend, FiFilter, FiPlusCircle, FiCpu } from "react-icons/fi"; import { FiSend, FiFilter, FiPlusCircle, FiCpu } from "react-icons/fi";
import ChatInputOption from "./ChatInputOption"; import ChatInputOption from "./ChatInputOption";
import { FaBrain } from "react-icons/fa"; import { FaBrain } from "react-icons/fa";
@ -55,6 +55,23 @@ export function ChatInputBar({
} }
}, [message]); }, [message]);
const handlePaste = (event: React.ClipboardEvent) => {
const items = event.clipboardData?.items;
if (items) {
const pastedFiles = [];
for (let i = 0; i < items.length; i++) {
if (items[i].kind === "file") {
const file = items[i].getAsFile();
if (file) pastedFiles.push(file);
}
}
if (pastedFiles.length > 0) {
event.preventDefault();
handleFileUpload(pastedFiles);
}
}
};
const { llmProviders } = useChatContext(); const { llmProviders } = useChatContext();
const [_, llmName] = getFinalLLM(llmProviders, selectedAssistant, null); const [_, llmName] = getFinalLLM(llmProviders, selectedAssistant, null);
@ -112,6 +129,7 @@ export function ChatInputBar({
</div> </div>
)} )}
<textarea <textarea
onPaste={handlePaste}
ref={textAreaRef} ref={textAreaRef}
className={` className={`
m-0 m-0