(type: string, data: unknown)
| 231 | } |
| 232 | |
| 233 | function logEntry(type: string, data: unknown) { |
| 234 | const logEl = document.getElementById("log-entries")!; |
| 235 | const color = LOG_COLORS[type] ?? "#9ca3af"; |
| 236 | const d = document.createElement("div"); |
| 237 | d.className = "log-entry"; |
| 238 | d.style.borderLeftColor = color; |
| 239 | const typeSpan = document.createElement("span"); |
| 240 | typeSpan.className = "log-type"; |
| 241 | typeSpan.style.color = color; |
| 242 | typeSpan.textContent = `[${type}]`; |
| 243 | d.appendChild(typeSpan); |
| 244 | d.appendChild(logBody(data)); |
| 245 | logEl.prepend(d); |
| 246 | while (logEl.children.length > 300) logEl.lastElementChild?.remove(); |
| 247 | } |
| 248 | |
| 249 | // ── Timeline ────────────────────────────────────────────────────────────────── |
| 250 |
no test coverage detected