52 lines
2.4 KiB
HTML
52 lines
2.4 KiB
HTML
{% extends "admin/layout.html" %}
|
|
{% block admin_title %}{{ t.nav_releases }}{% endblock admin_title %}
|
|
|
|
{% block content %}
|
|
<h1>{{ t.releases_heading }}</h1>
|
|
|
|
<div style="display:flex; gap:1rem; align-items:center; margin-bottom:1rem; flex-wrap:wrap;">
|
|
<a href="/admin/releases/new" style="display:inline-block; padding:.5rem 1rem; background:#1a1a2e; color:#fff; text-decoration:none; border-radius:4px;">{{ t.releases_add }}</a>
|
|
|
|
<form method="get" action="/admin/releases" style="display:flex; gap:.5rem; align-items:center;">
|
|
<label for="artist_id" style="font-size:.85rem; color:#555;">{{ t.releases_filter_label }}:</label>
|
|
<select name="artist_id" id="artist_id" onchange="this.form.submit()" style="padding:.35rem .5rem; border:1px solid #ccc; border-radius:4px;">
|
|
<option value="">{{ t.releases_filter_all }}</option>
|
|
{% for a in artists %}
|
|
<option value="{{ a.id_val() }}"{% match filter_artist_id %}{% when Some with (fid) %}{% if *fid == a.id_val() %} selected{% endif %}{% when None %}{% endmatch %}>{{ a.name_str() }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</form>
|
|
</div>
|
|
|
|
{% if rows.is_empty() %}
|
|
<p>{{ t.releases_empty }}</p>
|
|
{% else %}
|
|
<table>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>{{ t.releases_title }}</th>
|
|
<th>{{ t.releases_artists }}</th>
|
|
<th>{{ t.releases_type }}</th>
|
|
<th>{{ t.releases_year }}</th>
|
|
<th>{{ t.releases_actions }}</th>
|
|
</tr>
|
|
{% for row in rows %}
|
|
<tr>
|
|
<td>{{ row.release.id_val() }}</td>
|
|
<td>{{ row.release.title_str() }}</td>
|
|
<td>{% if row.artist_names.is_empty() %}<span style="color:#999;">{{ t.releases_no_artist }}</span>{% else %}{{ row.artist_names }}{% endif %}</td>
|
|
<td><code>{{ row.release.release_type_str() }}</code></td>
|
|
<td>{{ row.release.year_display() }}</td>
|
|
<td>
|
|
<a href="/admin/releases/{{ row.release.id_val() }}/edit">{{ t.releases_edit }}</a>
|
|
|
|
|
<form method="post" action="/admin/releases/{{ row.release.id_val() }}/delete" style="display:inline;" onsubmit="return confirm('{{ t.releases_delete_confirm }}')">
|
|
<button type="submit" style="background:none; border:none; color:#c00; cursor:pointer; padding:0; text-decoration:underline;">{{ t.releases_delete }}</button>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endif %}
|
|
{% endblock content %}
|