atr/templates/file-selected-path.html (70 lines of code) (raw):
{% extends "layouts/base.html" %}
{% block title %}
View {{ release.project.short_display_name }}/{{ release.version }}/{{ file_path }} ~ ATR
{% endblock title %}
{% block description %}
View the content of the {{ release.project.short_display_name }} {{ release.version }} {{ file_path }} file.
{% endblock description %}
{% block content %}
{# Generate back link based on phase_key #}
{% if phase_key == "draft" %}
{% set back_url = as_url(routes.draft.view, project_name=release.project.name, version_name=release.version) %}
{% elif phase_key == "candidate" %}
{% set back_url = as_url(routes.candidate.view, project_name=release.project.name, version_name=release.version) %}
{% elif phase_key == "preview" %}
{% set back_url = as_url(routes.preview.view, project_name=release.project.name, version_name=release.version) %}
{% elif phase_key == "release" %}
{% set back_url = as_url(routes.release.view, project_name=release.project.name, version_name=release.version) %}
{% endif %}
<a href="{{ back_url }}" class="atr-back-link">← Back to {{ phase_key }}</a>
<div class="p-3 mb-4 bg-light border rounded">
<h2 class="mt-0">Viewing file: {{ file_path }}</h2>
<p class="mb-0">
<strong>Release:</strong> {{ release.name }}
</p>
</div>
{% if content_listing is not none %}
<div class="card mb-3">
<div class="card-header">
<h5 class="mb-0">Archive contents ({{ content_listing|length }})</h5>
</div>
<div class="card-body p-0">
<ul class="list-group list-group-flush">
{% for item in content_listing %}<li class="list-group-item py-1 px-3 small">{{ item }}</li>{% endfor %}
</ul>
</div>
</div>
{% endif %}
{% if error_message %}
<div class="alert alert-danger">{{ error_message }}</div>
{% elif size_limit_exceeded %}
<div class="alert alert-warning">{{ content }}</div>
{% elif content is not none %}
{% if content_listing is not none %}
<details class="mb-3">
<summary class="mb-2">View raw file content</summary>
{% endif %}
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0">
File content
{% if not is_text %}(Hexdump){% endif %}
</h5>
</div>
<div class="card-body p-0">
{% if is_text %}
<pre class="bg-light p-4 rounded-bottom mb-0 text-break">{{ content }}</pre>
{% else %}
<pre class="bg-light p-4 rounded-bottom mb-0 text-break"><code>{{ content }}</code></pre>
{% endif %}
</div>
{% if is_truncated %}
<div class="card-footer text-muted small">Note: File content truncated to the first {{ max_view_size }}.</div>
{% endif %}
</div>
{% if content_listing is not none %}</details>{% endif %}
{% else %}
{# Shouldn't happen #}
<div class="alert alert-secondary">No content available for this file.</div>
{% endif %}
{% endblock content %}