fix(slint): follow chip, playlist card size, track row hover, dedupe

- Follow button on the artist card is no longer a pill — Radius.sm
  rounded rectangle, matching the rest of the app (new ADR-008).
- PlaylistCard sized identically to AlbumCard (220x266) with the same
  220px artwork area; collage and the grid/carousel updated to match.
- Track row play overlay now appears anywhere over the row, not only
  when the pointer is directly over the cell. Slint does not propagate
  has-hover to ancestor TouchAreas, so each row OR-s its own ta with
  every nested TouchArea (play-cell, fav/dl/more) into row-hovered.
- EqualizerBars sit on a fixed 16px baseline so the animation stays
  perfectly centered while the bar heights oscillate.
- TrackPlayCell exposes out hovered so rows can OR it cleanly.
- Search dedupes a top-result artist that is also the first carousel
  entry, removing the redundant duplicate.

cc
This commit is contained in:
vicrodh committed 2026-05-19 19:53:15 -06:00
1 parent 7efb83c075
commit c7129de096
10 files changed
+89 -42

No files matched your search

@@ -4,6 +4,7 @@
import { Theme } from "../foundation/semantic-colors.slint";
import { Typography } from "../foundation/typography.slint";
import { Radius } from "../foundation/radius.slint";
import { SlimItem } from "../state.slint";
import { QbzIcon } from "../primitives/QbzIcon.slint";
@@ -74,7 +75,9 @@ export component ArtistCard inherits Rectangle {
Rectangle {
width: chip-row.preferred-width;
height: 30px;
border-radius: 15px;
// Rectangular with small rounded corners — QBZ never uses
// pill-shaped chips (ADR-008).
border-radius: Radius.sm;
background: follow-ta.has-hover
? Theme.surface-hover
: Theme.surface-elevated;