feat(web): discovery modals — artist + album, not preview navigation

Clicking a suggested (or find-similar) artist opens an ArtistModal: Follow +
a cover-art grid of their releases with per-album Want (reuses the preview
endpoint), plus a "Full page" link to the deep-linkable preview route. Clicking
a suggested album opens the AlbumModal (tracklist + Want). Lighter than jumping
to a full preview page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan
2026-07-12 15:29:46 +02:00
parent 4f6c5995f8
commit 1fbe58013f
3 changed files with 178 additions and 4 deletions
+10
View File
@@ -322,3 +322,13 @@ nav.contents .sep { flex: 1; }
.ac-title { font-size: 0.98rem; line-height: 1.25; }
.ac-artist { color: var(--graphite); font-size: 0.86rem; margin-top: 1px; }
.ac-meta { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--graphite); margin-top: 5px; }
/* ── Link-styled button + artist modal ────────────────── */
.linkish { background: transparent; border: 0; padding: 0; cursor: pointer; color: inherit; font: inherit; text-align: left; }
.linkish:hover { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.artist-modal-head { margin-bottom: 18px; }
.artist-modal-actions { margin-top: 10px; align-items: center; }
.artist-modal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 20px 14px; max-height: 56vh; overflow-y: auto; padding-top: 4px; }
.am-rel .cover { margin-bottom: 7px; }
.am-rel .ac-title { font-size: 0.9rem; }
.am-rel-action { margin-top: 7px; }