fix(slint): search refinements — artist card, history, spinner, hover
- ArtistCard rebuilt 1:1 with Tauri SearchView.artist-card: 160x220 inside a surface-card container, 12px corners, 120px circular avatar with a gradient placeholder, hover swaps to surface-elevated. The Follow chip (rectangular per ADR-008) sits below the name when the user does not follow the artist. - Search loading state uses a rotating spinner (Lucide LoaderCircle on Slint transform-rotation) matching the Tauri spinner — 1s linear infinite. The search header (title + tabs + filter radios) collapses while the initial load runs so the chrome does not show through. - Search history: live debounce + submit now use nav::push_or_replace_search, so the latest query is the single Search entry in history. Back from an opened album lands on that search. - Track row backgrounds use the OR-d row-hovered (cell / fav / dl / more), so hovering the more button no longer drops the row tint. - replace_category artists arm re-applies the top-result dedupe, so filtering does not bring the duplicate back. cc
This commit is contained in:
11 files changed
+129
-43
No files matched your search
@@ -63,8 +63,9 @@ component TrackRow inherits Rectangle {
|
||||
height: 52px;
|
||||
border-radius: 8px;
|
||||
// The even-row tint is clearly fainter than the hover tint so the two
|
||||
// never read as the same state.
|
||||
background: ta.has-hover
|
||||
// never read as the same state. Use row-hovered so hovering the cell
|
||||
// or the more button keeps the row tint.
|
||||
background: root.row-hovered
|
||||
? #ffffff16
|
||||
: (Math.mod(root.index, 2) == 1 ? #ffffff07 : transparent);
|
||||
|
||||
|
||||
Reference in new issue
Block a user