{job?.title ?? 'Job'} — Tonemark
{#if error} {:else if !job}
Loading…
{:else}

{job.title || job.source}

{job.source?.includes('http') ? job.source : (job.source ?? '')} {#if job.audioMode}· {job.audioMode}{/if} {#if job.meanVolume != null}· {job.meanVolume.toFixed(1)} dBFS{/if}
{#if isActive} {/if} {#if canRetry} {/if} {#if isTerminal} {/if}
{#if isActive || job.status === 'done'}
{/if} {#if job.error} {/if}
Pipeline
{#each pipelineStages as stage}
{#if stage.done} {:else if stage.active}
{/if}
{@html stage.label} {#if stage.active} {job.progress}% {/if}
{/each}
{#if job.status === 'done'}
Download transcript
{#each formats as fmt, i} {fmt.toUpperCase()} {/each}
{#if job.outputDir}
{job.outputDir}
{/if} {:else if isActive}
Live preview
Streaming
{#if segments.length > 0} {@const last = segments[segments.length - 1]}
{secToTimestamp(last.start)} {last.text}
{:else}
Waiting for segments…
{/if} {/if}
{#if segments.length > 0}
Transcript
{segments.length} segments
{#each segments as seg}
{secToTimestamp(seg.start)}

{seg.text}

{/each}
{/if} {/if}