From 6434d10e5287282d13b7e8ca9c2891d8736797e2 Mon Sep 17 00:00:00 2001 From: jamesjulich <51384945+jamesjulich@users.noreply.github.com> Date: Mon, 13 Sep 2021 09:34:08 -0500 Subject: [PATCH] Support pasting images as attachments. Fixes #87. --- src/app/organisms/room/RoomViewInput.jsx | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/app/organisms/room/RoomViewInput.jsx b/src/app/organisms/room/RoomViewInput.jsx index a72f1e34..1e0f1269 100644 --- a/src/app/organisms/room/RoomViewInput.jsx +++ b/src/app/organisms/room/RoomViewInput.jsx @@ -285,6 +285,32 @@ function RoomViewInput({ } } + function handlePaste(e) { + if (e.clipboardData === false) { + return; + } + + if (e.clipboardData.items === undefined) { + return; + } + + for (let i = 0; i < e.clipboardData.items.length; i += 1) { + const item = e.clipboardData.items[i]; + if (item.type.indexOf('image') !== -1) { + const image = item.getAsFile(); + if (attachment === null) { + setAttachment(image); + if (image !== null) { + roomsInput.setAttachment(roomId, image); + return; + } + } else { + return; + } + } + } + } + function addEmoji(emoji) { textAreaRef.current.value += emoji.unicode; } @@ -315,6 +341,7 @@ function RoomViewInput({ timelineScroll.autoReachBottom()} onKeyDown={handleKeyDown} placeholder="Send a message..."