ConverationView.onPaste: Better handling of clipboard contents

This commit is contained in:
Scott Nonnenberg 2023-10-24 10:18:58 -07:00 committed by GitHub
parent 607349e0b8
commit a1e7efee12
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 6 deletions

View file

@ -57,14 +57,15 @@ export function ConversationView({
const onPaste = React.useCallback(
(event: React.ClipboardEvent<HTMLDivElement>) => {
event.stopPropagation();
event.preventDefault();
if (!event.clipboardData) {
return;
}
const { items } = event.clipboardData;
const fileItems = [...items].filter(item => item.kind === 'file');
if (fileItems.length === 0) {
return;
}
const allVisual = fileItems.every(item => {
const type = item.type.split('/')[0];
@ -84,6 +85,9 @@ export function ConversationView({
files,
});
event.stopPropagation();
event.preventDefault();
return;
}
@ -93,6 +97,9 @@ export function ConversationView({
conversationId,
files: [firstAttachment],
});
event.stopPropagation();
event.preventDefault();
}
},
[conversationId, processAttachments]