39 lines
1.8 KiB
HTML
39 lines
1.8 KiB
HTML
{#if entries.isEmpty()}
|
|
<div class="card bg-base-200 shadow-xl p-12 text-center">
|
|
<p class="text-lg text-base-content/60">No releases found</p>
|
|
<p class="text-sm text-base-content/40 mt-2">Add artists to your collection to see their releases here</p>
|
|
</div>
|
|
{#else}
|
|
<div class="flex flex-col gap-6">
|
|
{#for entry in entries}
|
|
<a href="https://musicbrainz.org/release-group/{entry.mbid}" target="_blank" rel="noopener noreferrer"
|
|
class="card card-side bg-base-200 border border-base-300 hover:bg-base-300 transition-colors shadow-sm overflow-hidden">
|
|
<figure class="w-64">
|
|
<img src="https://coverartarchive.org/release-group/{entry.mbid}/front-250"
|
|
alt="{entry.title}" class="object-cover w-full h-full"
|
|
loading="lazy"
|
|
onerror="this.parentElement.innerHTML='<div class=\'flex items-center justify-center h-full text-base-content/20\'>No Cover</div>'">
|
|
</figure>
|
|
<div class="card-body">
|
|
<h3 class="card-title text-sm text-base-content/60 uppercase tracking-wider">{entry.artistName}</h3>
|
|
<h2 class="text-lg font-semibold">{entry.title}</h2>
|
|
<div class="flex items-center gap-2 mt-2">
|
|
{#if entry.primaryType == 'Album'}
|
|
<span class="badge badge-primary badge-sm">Album</span>
|
|
{#else if entry.primaryType == 'Single'}
|
|
<span class="badge badge-secondary badge-sm">Single</span>
|
|
{#else if entry.primaryType == 'EP'}
|
|
<span class="badge badge-accent badge-sm">EP</span>
|
|
{#else}
|
|
<span class="badge badge-ghost badge-sm">{entry.primaryType}</span>
|
|
{/if}
|
|
{#if entry.firstReleaseDate}
|
|
<span class="text-sm text-base-content/40">{entry.firstReleaseDate}</span>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</a>
|
|
{/for}
|
|
</div>
|
|
{/if}
|