149 lines
5.0 KiB
HTML
149 lines
5.0 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ album.title }}{% endblock title %}
|
|
{% block crumb %}audio/{{ album.slug }}{% endblock crumb %}
|
|
|
|
{% block content %}
|
|
{% if logged_in_admin %}
|
|
<header class="term-cmd">
|
|
<div>
|
|
<p class="term-cmd-line">
|
|
<span class="t-green">visitor@universal-web</span><span class="t-dim">:</span><span class="t-blue">~/audio</span><span class="t-dim">$</span>
|
|
cd {{ album.slug }}/ && ls
|
|
</p>
|
|
<h1 class="term-title">{{ album.title }}</h1>
|
|
{% if album.artist %}
|
|
<p class="term-sub">// by {{ album.artist }}</p>
|
|
{% endif %}
|
|
</div>
|
|
<div class="term-cmd-actions">
|
|
{% if tracks | length > 0 %}
|
|
<button type="button" class="uw-play-album btn btn-primary btn-sm"
|
|
data-tracks-from="#uw-album-tracks">▶ play album</button>
|
|
{% endif %}
|
|
<a href="/audio/albums" class="btn btn-outline btn-sm">[ cd .. ]</a>
|
|
</div>
|
|
</header>
|
|
|
|
{% if album.cover_image_id %}
|
|
<div class="card mb-6">
|
|
<div class="term-head">
|
|
<span class="term-dots" aria-hidden="true">
|
|
<span class="term-dot r"></span><span class="term-dot y"></span><span class="term-dot g"></span>
|
|
</span>
|
|
<span class="term-head-name">~/audio/{{ album.slug }}/cover.png</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<img src="/images/{{ album.cover_image_id }}" alt="">
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if album.description %}
|
|
<div class="card mb-6">
|
|
<div class="term-head">
|
|
<span class="term-dots" aria-hidden="true">
|
|
<span class="term-dot r"></span><span class="term-dot y"></span><span class="term-dot g"></span>
|
|
</span>
|
|
<span class="term-head-name">~/audio/{{ album.slug }}/notes.txt</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="term-prose whitespace-pre-line">{{ album.description }}</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="card">
|
|
<div class="term-head">
|
|
<span class="term-dots" aria-hidden="true">
|
|
<span class="term-dot r"></span><span class="term-dot y"></span><span class="term-dot g"></span>
|
|
</span>
|
|
<span class="term-head-name">~/audio/{{ album.slug }}/tracklist</span>
|
|
<span class="term-head-meta term-tag is-green">{{ tracks | length }} tracks</span>
|
|
</div>
|
|
<div class="card-body" id="uw-album-tracks">
|
|
{% if tracks | length > 0 %}
|
|
<div class="term-track-bar">
|
|
<button type="button" class="uw-play-album btn btn-primary btn-sm"
|
|
data-tracks-from="#uw-album-tracks">▶ play album</button>
|
|
<span class="term-track-name t-dim">// queue all {{ tracks | length }} tracks</span>
|
|
</div>
|
|
{% for track in tracks %}
|
|
<div class="term-track">
|
|
<button type="button" class="uw-play btn btn-primary btn-sm"
|
|
data-src="/audio/tracks/{{ track.id }}/stream" data-title="{{ track.title }}">▶ play</button>
|
|
<span class="term-track-name">
|
|
<span class="t-dim">{% if track.track_number %}{{ track.track_number }}{% else %}-{% endif %}</span>
|
|
<span class="t-green">▸</span> {{ track.title }}
|
|
</span>
|
|
</div>
|
|
{% endfor %}
|
|
{% else %}
|
|
<p class="term-empty-cmd">$ ls → no tracks yet</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<header class="term-cmd">
|
|
<div>
|
|
<h1 class="term-title">{{ album.title }}</h1>
|
|
{% if album.artist %}
|
|
<p class="term-sub">by {{ album.artist }}</p>
|
|
{% endif %}
|
|
</div>
|
|
<div class="term-cmd-actions">
|
|
{% if tracks | length > 0 %}
|
|
<button type="button" class="uw-play-album btn btn-primary btn-sm"
|
|
data-tracks-from="#uw-album-tracks">play album</button>
|
|
{% endif %}
|
|
<a href="/audio/albums" class="btn btn-outline btn-sm">[ cd .. ]</a>
|
|
</div>
|
|
</header>
|
|
|
|
{% if album.cover_image_id %}
|
|
<div class="card mb-6">
|
|
<div class="term-head">
|
|
<span class="term-head-name">~/audio/{{ album.slug }}/cover.png</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<img src="/images/{{ album.cover_image_id }}" alt="">
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if album.description %}
|
|
<div class="card mb-6">
|
|
<div class="term-head">
|
|
<span class="term-head-name">~/audio/{{ album.slug }}/notes.txt</span>
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="term-prose whitespace-pre-line">{{ album.description }}</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="card">
|
|
<div class="term-head">
|
|
<span class="term-head-name">~/audio/{{ album.slug }}/tracklist</span>
|
|
<span class="term-head-meta term-tag is-green">{{ tracks | length }} tracks</span>
|
|
</div>
|
|
<div class="card-body" id="uw-album-tracks">
|
|
{% if tracks | length > 0 %}
|
|
{% for track in tracks %}
|
|
<div class="term-track">
|
|
<button type="button" class="uw-play btn btn-primary btn-sm"
|
|
data-src="/audio/tracks/{{ track.id }}/stream" data-title="{{ track.title }}">play</button>
|
|
<span class="term-track-name">
|
|
<span class="t-dim">{% if track.track_number %}{{ track.track_number }}{% else %}-{% endif %}</span>
|
|
<span class="t-green">▸</span> {{ track.title }}
|
|
</span>
|
|
</div>
|
|
{% endfor %}
|
|
{% else %}
|
|
<p class="term-empty-cmd">$ ls → no tracks yet</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock content %}
|