20 lines
524 B
JavaScript
20 lines
524 B
JavaScript
/* eslint-disable no-console */
|
|
|
|
export default function intentHandler(state, emitter) {
|
|
window.addEventListener(
|
|
'message',
|
|
event => {
|
|
if (typeof event.data !== 'string' || !event.data.startsWith('data:')) {
|
|
return;
|
|
}
|
|
fetch(event.data)
|
|
.then(res => res.blob())
|
|
.then(blob => {
|
|
emitter.emit('addFiles', { files: [blob] });
|
|
emitter.emit('upload', {});
|
|
})
|
|
.catch(e => console.error('ERROR ' + e + ' ' + e.stack));
|
|
},
|
|
false
|
|
);
|
|
}
|