{% set album_id = album.id|default('') %} {% set is_external = album.source is defined and album.source == 'external' %} {% set has_track_count = (album.total_tracks|default(0)) > 0 %} {% set has_release_date = album.release_date is defined and album.release_date %} {% set needs_hydration = is_external and (not has_track_count) %} {% set show_url = path('album_show', {id: album_id}) %} {% set review_href = needs_hydration ? '#' : show_url %}
{% set image = (album.images[0] ?? album.images[1] ?? null) %} {% if image %} {% set image_url = image.url|default('') %} {% set preview_image_url = image_url %} {% set highres_image_url = '' %} {% if '/i/u/300x300/' in image_url %} {% set preview_image_url = image_url|replace({'/i/u/300x300/': '/i/u/174s/'}) %} {% set highres_image_url = image_url %} {% elseif '/front-500' in image_url %} {% set preview_image_url = image_url|replace({'/front-500': '/front-250'}) %} {% elseif '/front-1200' in image_url %} {% set preview_image_url = image_url|replace({'/front-1200': '/front-250'}) %} {% elseif image_url matches '/\\/front$/' %} {% set preview_image_url = image_url ~ '-250' %} {% endif %} {{ album.name }} cover {% elseif needs_hydration %}
Loading cover...
{% endif %}
{{ album.name }}

{{ album.artists|map(a => a.name)|join(', ') }}

{% if needs_hydration %} Loading album details... {% else %} {% set release_text = album.release_date is defined and album.release_date ? album.release_date : 'Unknown release date' %} Released {{ release_text }} • {{ album.total_tracks }} tracks {% endif %}

{% if album.genres is defined and album.genres is not empty %} Genre: {{ album.genres|join(', ') }} {% endif %}

{% set s = stats[album.id] ?? { 'avg': 0, 'count': 0 } %}

User score: {{ s.avg }}/10 ({{ s.count }})

{% if album.external_urls.external is defined and album.external_urls.external and not needs_hydration %} Open Source {% endif %} Reviews {% if app.user and (album.source is not defined or album.source != 'user') %} {% if savedIds is defined and (album.id in savedIds) %} {# Saved indicator intentionally omitted to reduce noise #} {% else %}
{% endif %} {% endif %} {% if needs_hydration %}

Loading details...

{% endif %}