diff --git a/src/components/library/UpdateChecker.tsx b/src/components/library/UpdateChecker.tsx index 678cb94a..b7310b56 100644 --- a/src/components/library/UpdateChecker.tsx +++ b/src/components/library/UpdateChecker.tsx @@ -46,10 +46,12 @@ function UpdateChecker() { const wsc = new WebSocket(`${baseWebsocketUrl}/api/v1/update`); wsc.onmessage = (e) => { const data = JSON.parse(e.data) as IUpdateStatus; - const { COMPLETE, RUNNING, PENDING } = data.statusMap; + const { COMPLETE = [], RUNNING = [], PENDING = [] } = data.statusMap; setLoading(data.running); - const currentProgress = 100 * (COMPLETE / (COMPLETE + RUNNING + PENDING)); + const currentProgress = 100 * ( + COMPLETE.length / (COMPLETE.length + RUNNING.length + PENDING.length) + ); setProgress(Number.isNaN(currentProgress) ? 0 : currentProgress); }; diff --git a/src/typings.d.ts b/src/typings.d.ts index 2fcc9fe0..dd189523 100644 --- a/src/typings.d.ts +++ b/src/typings.d.ts @@ -197,9 +197,9 @@ interface IQueue { interface IUpdateStatus { running: boolean statusMap: { - COMPLETE: number, - RUNNING: number, - PENDING: number + COMPLETE?: IManga[], + RUNNING?: IManga[], + PENDING?: IManga[] } }