(messages)
| 64 | } |
| 65 | |
| 66 | function startProgressStatus(messages) { |
| 67 | const startedAt = Date.now(); |
| 68 | let messageIndex = 0; |
| 69 | |
| 70 | const update = () => { |
| 71 | const elapsedSeconds = Math.floor((Date.now() - startedAt) / 1000); |
| 72 | while ( |
| 73 | messageIndex + 1 < messages.length && |
| 74 | elapsedSeconds >= messages[messageIndex + 1].afterSeconds |
| 75 | ) { |
| 76 | messageIndex += 1; |
| 77 | } |
| 78 | |
| 79 | setStatus(`${messages[messageIndex].text} Elapsed: ${formatElapsed(startedAt)}.`); |
| 80 | }; |
| 81 | |
| 82 | update(); |
| 83 | const timer = window.setInterval(update, 1000); |
| 84 | return () => window.clearInterval(timer); |
| 85 | } |
| 86 | |
| 87 | function isMac() { |
| 88 | return /mac/i.test(navigator.userAgentData?.platform ?? navigator.platform ?? ""); |
no test coverage detected