{% extends "base.html" %} {% from "fragments/_chips.html" import chip, needs_review_chip %} {% block title %}Voxint — media{% endblock %} {% block cb_breadcrumb %}media /{% endblock %} {% block cb_summary %} {%- if not paginated and media_summary.folder_count %}{{ media_summary.folder_count }} folder{{ "s" if media_summary.folder_count != 1 else "" }} · {% endif -%} {{ total_count }} recording{{ "s" if total_count != 1 else "" }}{% if not paginated %} · {{ media_summary.total_hours }}{% endif %} {%- endblock %} {% block cb_actions %} {% set _fqs %}{% if search %}&q={{ search|urlencode }}{% endif %}{% if status %}&status={{ status }}{% endif %}{% endset %} {% if not archived and not trashed and shell.can_write %}
{{ row.current_path or row.source_path }}
{%- endif -%}
{% endmacro %}
{# Row action verb — state-dependent to tell the operator what they will do. #}
{% macro row_action(row) %}
{%- if row.latest_run_id -%}
{%- if row.latest_run_status == "awaiting_adjudication" -%}
Review →
{%- elif row.latest_run_status == "failed" -%}
Retry →
{%- else -%}
Open →
{%- endif -%}
{%- endif -%}
{% endmacro %}
{# Card macro for a single media item in cards view. #}
{% macro media_card(row) %}
Trashed files awaiting permanent deletion. ← Back to active media
{% elif archived %}Archived runs are hidden from the active library. ← Back to active media
{% endif %} {% if notice %}{{ notice.text }}
{% endif %} {% if not archived and not trashed and shell.can_write %} {% if submitted %}{% if submitted == "deferred" %}Queued for transcription. It will start when the worker is available. {% else %}Queued for transcription.{% endif %}
{% endif %}Registered folders share vocabulary and corrections across their files. Registering or unregistering a folder never moves any file.
{% if folder_options %}{{ opt.path }}{% if shell.projects_enabled and opt.project_name %} — {{ opt.project_name }}{% if opt.project_archived %} (archived){% endif %}{% endif %}
No folders registered yet.
{% endif %}Trash is empty.
{% elif archived %}No archived runs. Archive a run from the active library to see it here.
{% elif is_filtered %}No recordings match{% if search %} "{{ search }}"{% endif %}{% if status %} with that filter{% endif %}. Clear search
{% else %}No media yet.{% if shell.can_write %} Add a recording with the button above, or register a folder on the server.{% endif %}
{% endif %} {% if not trashed and not archived %} {# The toolbar above only renders with rows; keep Trash reachable after the last file is trashed. #} {% endif %} {% endif %} {% if trashed and rows and shell.can_write %} {% endif %} {% endblock %}