diff --git a/gui/frontend/src/services/api/event.ts b/gui/frontend/src/services/api/event.ts index 23f743a..8468356 100644 --- a/gui/frontend/src/services/api/event.ts +++ b/gui/frontend/src/services/api/event.ts @@ -61,12 +61,16 @@ export async function progressListener( let maxNum = 0; let unlisten: (() => void) | null = null; const eventHandler: EventCallback<Payload> = (event) => { + /** file count to % */ const toPercentage = (num: number) => (num * 100) / maxNum; + /** To 0 ~ 100 */ + const clamped = (progress: number) => Math.max(0, Math.min(100, progress)); if (maxNum === 0) { maxNum = event.payload.index; } else { - setProgress(toPercentage(event.payload.index)); + const percent = toPercentage(event.payload.index); + setProgress(clamped(percent)); } };