Begin implementing a reporting mechanism

This commit is contained in:
Danny Coates 2020-07-13 10:21:28 -07:00
parent ccbcb69666
commit 9891d1f0ba
No known key found for this signature in database
GPG key ID: 4C442633C62E00CB
37 changed files with 762 additions and 183 deletions

View file

@ -1,5 +1,6 @@
import FileSender from './fileSender';
import FileReceiver from './fileReceiver';
import { reportLink } from './api';
import { copyToClipboard, delay, openLinksInNewTab, percent } from './utils';
import * as metrics from './metrics';
import { bytes, locale } from './utils';
@ -306,6 +307,26 @@ export default function(state, emitter) {
render();
});
emitter.on('report', async ({ reason }) => {
try {
const file = state.fileInfo;
if (!file) {
// TODO
emitter.emit('pushState', '/error');
return render();
}
await reportLink(file.id, file.secretKey, reason);
render();
} catch (err) {
console.error(err);
if (err.message === '404') {
state.fileInfo = { reported: true };
return render();
}
emitter.emit('pushState', '/error');
}
});
setInterval(() => {
// poll for updates of the upload list
if (!state.modal && state.route === '/') {