Spaces:
Running
Running
| // Show a live elapsed-seconds counter in a status while a slow call runs, so a 12s ZeroGPU | |
| // generation reads as "working (8s)" instead of a frozen "painting…" that looks stuck. The | |
| // counter ticks while the promise is pending and clears when it settles. | |
| export function withElapsed(setText, prefix, promise) { | |
| const t0 = Date.now() | |
| const tick = () => { try { setText(`${prefix} ${Math.round((Date.now() - t0) / 1000)}s`) } catch { /* ignore */ } } | |
| tick() | |
| const iv = setInterval(tick, 500) | |
| return Promise.resolve(promise).finally(() => clearInterval(iv)) | |
| } | |