{% extends "base.html" %} {% block title %}Voxint — transcript {{ run.id.hex[:8] }}{% endblock %} {% block body %}
{{ run.id.hex[:8] }}{{ run.media_item.source_path }}
No transcript segments for this run.
{% else %} {# Island mount point (issue #48): the transcript-player island renders the audio-synced view over this fallback once hydrated. The server-rendered loop below is fully functional with JS disabled, htmx off, or the asset route misconfigured — the same "degrades to plain HTML" guarantee the rest of the console has. Islands are leaf nodes htmx does not swap. #}[{{ "%.2f"|format(ln.start_seconds) }}–{{ "%.2f"|format(ln.end_seconds) }}] {% if ln.diarization_label %}{{ ln.diarization_label }}{% endif %} {% if ln.speaker != ln.diarization_label %}{{ ln.speaker }}:{% endif %} {{ ln.text }}
{% endfor %}