41f42acd91
- Body: var(--b1) (baseline) - Cards: color-mix(var(--b1) + 8% white) = lighter surface - Navbar: color-mix(var(--b1) + 20% black) = darker header - Cards hover: same as navbar - Search dropdown: matches navbar darkness
41 lines
2.6 KiB
HTML
41 lines
2.6 KiB
HTML
{#if entries.isEmpty()}
|
|
<div style="background:color-mix(in srgb,var(--b1),white 8%);border:1px solid var(--b3);border-radius:0.5rem;padding:3rem;text-align:center">
|
|
<p style="font-size:1.125rem;color:var(--bc);opacity:0.6">No releases found</p>
|
|
<p style="font-size:0.875rem;color:var(--bc);opacity:0.4;margin-top:0.5rem">Add artists to your collection to see their releases here</p>
|
|
</div>
|
|
{#else}
|
|
<div style="display:flex;flex-direction:column;gap:1.5rem">
|
|
{#for entry in entries}
|
|
<a href="https://musicbrainz.org/release-group/{entry.mbid}" target="_blank" rel="noopener noreferrer"
|
|
style="display:flex;text-decoration:none;background:color-mix(in srgb,var(--b1),white 8%);border:1px solid var(--b3);border-radius:0.5rem;overflow:hidden;transition:background 0.15s"
|
|
onmouseover="this.style.background='color-mix(in srgb,var(--b1),black 20%)'"
|
|
onmouseout="this.style.background='color-mix(in srgb,var(--b1),white 8%)'">
|
|
<div style="width:250px;height:250px;flex-shrink:0;overflow:hidden;background:var(--b3)">
|
|
<img src="https://coverartarchive.org/release-group/{entry.mbid}/front-250"
|
|
alt="{entry.title}" style="width:100%;height:100%;object-fit:cover;display:block"
|
|
loading="lazy"
|
|
onerror="this.parentElement.innerHTML='<div style=\'display:flex;align-items:center;justify-content:center;height:100%;color:var(--bc);opacity:0.15\'>No Cover</div>'">
|
|
</div>
|
|
<div style="padding:1rem 1.25rem;flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0">
|
|
<div style="font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--bc);opacity:0.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">{entry.artistName}</div>
|
|
<div style="font-size:1.1rem;font-weight:700;color:var(--bc);line-height:1.35;margin-top:0.15rem">{entry.title}</div>
|
|
<div style="display:flex;align-items:center;gap:0.5rem;margin-top:0.5rem;flex-wrap:wrap">
|
|
{#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 style="font-size:0.8rem;color:var(--bc);opacity:0.45">{entry.firstReleaseDate}</span>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</a>
|
|
{/for}
|
|
</div>
|
|
{/if}
|