Fix visual size matching for icons in SuggestionsPanel

- Adjust badge icons: QBZ 17px (was 22px), Qobuz 20px (was 18px)
  QBZ fills its viewBox completely while Qobuz has whitespace,
  so QBZ needs to be smaller to appear visually equal

- Adjust glyph icons: Playlist 32px (was 28px), Radio 26px (was 24px)
  Playlist SVG only fills ~77% of its 20x20 viewBox, needs larger
  pixel size to match Lucide Radio which fills its box completely
This commit is contained in:
vicrodh committed 2026-01-31 14:55:15 -06:00
1 parent 14f0cae1c1
commit c1877cde75
1 file changed
+14 -11
@@ -210,8 +210,10 @@
<img src="/qobuz-logo-filled.svg" alt="Qobuz" class="badge-icon badge-qobuz" /> <img src="/qobuz-logo-filled.svg" alt="Qobuz" class="badge-icon badge-qobuz" />
</div> </div>
<div class="card-image-wrapper"> <div class="card-image-wrapper">
{#if playlist.images?.[0]} <!-- Use largest available image (last in array, or fallback to first) -->
<img src={playlist.images[0]} alt="" class="card-image" /> {@const playlistImage = playlist.images?.[playlist.images.length - 1] || playlist.images?.[0]}
{#if playlistImage}
<img src={playlistImage} alt="" class="card-image" />
{:else} {:else}
<div class="card-image-placeholder"> <div class="card-image-placeholder">
<img src="/playlist.svg" alt="" class="placeholder-icon" /> <img src="/playlist.svg" alt="" class="placeholder-icon" />
@@ -273,7 +275,7 @@
</div> </div>
<!-- Glyph that hides on hover --> <!-- Glyph that hides on hover -->
<div class="card-glyph"> <div class="card-glyph">
<Radio size={24} /> <Radio size={26} />
</div> </div>
<!-- Hover overlay with actions --> <!-- Hover overlay with actions -->
<div class="card-overlay"> <div class="card-overlay">
@@ -430,16 +432,16 @@
object-fit: contain; object-fit: contain;
} }
/* Qobuz icon: viewBox 1001x1006, content fills box */ /* Qobuz icon: viewBox 1001x1006, Q icon with ~15% whitespace around content */
.badge-qobuz { .badge-qobuz {
width: 18px; width: 20px;
height: 18px; height: 20px;
} }
/* QBZ icon: viewBox 1083x1083, circular vinyl that fills box - needs to appear same size */ /* QBZ icon: viewBox 1083x1083, circular vinyl fills entire box - smaller to match Qobuz visually */
.badge-qbz { .badge-qbz {
width: 22px; width: 17px;
height: 22px; height: 17px;
} }
.card-info { .card-info {
@@ -504,9 +506,10 @@
transition: opacity 150ms ease; transition: opacity 150ms ease;
} }
/* Playlist SVG: 20x20 viewBox but content only fills ~77% - needs larger size to match Lucide Radio */
.glyph-icon { .glyph-icon {
width: 28px; width: 32px;
height: 28px; height: 32px;
filter: invert(1); filter: invert(1);
opacity: 0.9; opacity: 0.9;
} }