{#if loading}
{/if}
onAutoRefreshChange?.(!autoRefresh)} class="flex items-center gap-1 px-1.5 py-0.5 rounded text-xs transition-colors {autoRefresh ? 'bg-amber-500/20 ring-1 ring-amber-500/50 text-amber-400' : 'text-zinc-500 hover:text-zinc-300 hover:bg-zinc-800'}" title="Toggle auto-refresh" >
onAutoScrollChange?.(!autoScroll)} class="flex items-center gap-1 px-1.5 py-0.5 rounded text-xs transition-colors {autoScroll ? 'bg-amber-500/20 ring-1 ring-amber-500/50 text-amber-400' : 'text-zinc-500 hover:text-zinc-300 hover:bg-zinc-800'}" title="Toggle auto-scroll" >
fontSize = Number(v)}>
{fontSize}px
{#each fontSizeOptions as size}
{size}px
{/each}
wordWrap = !wordWrap} class="p-1 rounded hover:bg-zinc-800 transition-colors {wordWrap ? 'bg-amber-500/20 ring-1 ring-amber-500/50' : ''}" title="Toggle word wrap" >
{#if logSearchActive}
{#if matchCount > 0}
{currentMatchIndex + 1}/{matchCount}
{:else if logSearchQuery}
0/0
{/if}
navigateMatch('prev')} class="p-0.5 rounded hover:bg-zinc-700" title="Previous">
navigateMatch('next')} class="p-0.5 rounded hover:bg-zinc-700" title="Next">
{:else}
{/if}
onRefresh?.()} class="p-1 rounded hover:bg-zinc-800 transition-colors" title="Refresh logs" >
{#if logs}
{@html highlightedLogs()}
{:else if loading}
Loading logs...
{:else}
No logs available
{/if}