fix(slint): search results 1:1 with Tauri
- Most popular: a crowned hero inline with the artists carousel; its cover now resolves (a dedicated artwork target was missing). - Artists: a real carousel on the All tab, ArtistCard restyled to the Tauri For-You tile with a Follow chip (favorites the artist) shown when the user does not follow it. - Playlists: a PlaylistCarousel of PlaylistCard, with a count-based PlaylistCollage (1/2/3/4-up) instead of a flat row list. - Carousels gained a View all link; result counts removed from titles. - searchType filter is a styled radio row (ring + accent dot) at the top right with a clear button, not a dropdown. - Title fixed to Search Results. - QbzCore::favorite_artist_ids backs the follow state. cc
This commit is contained in:
15 files changed
+1213
-339
No files matched your search
@@ -42,10 +42,34 @@ component NavButton inherits Rectangle {
|
||||
}
|
||||
}
|
||||
|
||||
component ViewAllLink inherits Rectangle {
|
||||
callback clicked();
|
||||
width: link-text.preferred-width + 16px;
|
||||
height: 26px;
|
||||
border-radius: 4px;
|
||||
background: ta.has-hover ? Theme.surface-hover : transparent;
|
||||
link-text := Text {
|
||||
text: @tr("View all");
|
||||
color: Theme.accent;
|
||||
font-size: 14px;
|
||||
font-weight: Typography.medium;
|
||||
x: (parent.width - self.width) / 2;
|
||||
y: (parent.height - self.height) / 2;
|
||||
}
|
||||
ta := TouchArea {
|
||||
mouse-cursor: pointer;
|
||||
clicked => {
|
||||
root.clicked();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export component Carousel inherits VerticalLayout {
|
||||
in property <DiscoverSection> section;
|
||||
in property <bool> show-view-all: false;
|
||||
callback album-clicked(string);
|
||||
callback media-action(string, string, string);
|
||||
callback view-all-clicked();
|
||||
|
||||
property <length> card-width: 220px;
|
||||
property <length> card-height: 266px;
|
||||
@@ -97,6 +121,14 @@ export component Carousel inherits VerticalLayout {
|
||||
}
|
||||
}
|
||||
}
|
||||
if root.show-view-all: VerticalLayout {
|
||||
alignment: center;
|
||||
ViewAllLink {
|
||||
clicked => {
|
||||
root.view-all-clicked();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user