\uD83D\uDCCB
No logs recorded yet
API calls and auth events will appear here
';
return;
}
const list = h('div', { className: 'sdt-log-list' });
for (const item of merged.slice(0, visibleLogCount)) {
list.appendChild(renderLogItem(item));
}
if (visibleLogCount < merged.length) {
list.appendChild(h('div', { className: 'sdt-log-load-hint' }, `${merged.length - visibleLogCount} older logs available`));
}
contentArea.appendChild(list);
contentArea.scrollTop = Math.min(previousScrollTop, contentArea.scrollHeight);
}
function maybeLoadOlderLogs() {
const mergedLength = getMergedLogs().length;
if (visibleLogCount >= mergedLength) return;
const distanceFromBottom = contentArea.scrollHeight - contentArea.scrollTop - contentArea.clientHeight;
if (distanceFromBottom <= 48) {
visibleLogCount = Math.min(visibleLogCount + CONSOLE_LOG_BATCH_SIZE, mergedLength);
renderLogs();
}
}
contentArea.addEventListener('scroll', maybeLoadOlderLogs);
renderLogs();
copyBtn.addEventListener('click', () => {
runAsynchronously(
navigator.clipboard.writeText(formatLogsForExport()).then(() => {
copyBtn.textContent = '\u2713 Copied';
setTimeout(() => {
setHtml(copyBtn, '