diff --git a/packages/trace-viewer/src/ui/workbenchLoader.tsx b/packages/trace-viewer/src/ui/workbenchLoader.tsx index 1038d8ac99..0260df0d7a 100644 --- a/packages/trace-viewer/src/ui/workbenchLoader.tsx +++ b/packages/trace-viewer/src/ui/workbenchLoader.tsx @@ -58,6 +58,21 @@ export const WorkbenchLoader: React.FunctionComponent<{ setProcessingErrorMessage(null); }, []); + React.useEffect(() => { + const listener = async (e: ClipboardEvent) => { + if (!e.clipboardData?.files.length) + return; + for (const file of e.clipboardData.files) { + if (file.type !== 'application/zip') + return; + } + e.preventDefault(); + processTraceFiles(e.clipboardData.files); + }; + document.addEventListener('paste', listener); + return () => document.removeEventListener('paste', listener); + }); + const handleDropEvent = React.useCallback((event: React.DragEvent) => { event.preventDefault(); processTraceFiles(event.dataTransfer.files);