fix(locallibrary): align the Tracks scrollbar with the Albums grid (chrome-bezel standard)

The Tracks list scrollbar sat inside the 32px content padding (too far into
the content). Move it to the view's true right edge — the position the Albums
grid already uses, which is the standard for chrome-bezel views: a padded
VerticalLayout holds the ListView while the ListScrollbar floats at the
full-width edge.

cc
This commit is contained in:
vicrodh committed 2026-05-29 01:24:52 -06:00
1 parent bcfab8e078
commit 460f7659bd
1 file changed
+17 -14
@@ -485,12 +485,15 @@ export component LocalLibraryView inherits Rectangle {
}
if !LocalLibraryState.tracks-loading
&& !LocalLibraryState.tracks-load-failed
&& LocalLibraryState.tracks.length > 0: VerticalLayout {
padding-left: 32px;
padding-right: 32px;
padding-top: 16px;
Rectangle {
vertical-stretch: 1;
&& LocalLibraryState.tracks.length > 0: Rectangle {
// Padded content, but the scrollbar floats at the view's
// TRUE right edge — matching the Albums grid, which is the
// chrome-bezel standard. (Previously it was inset by the
// 32px content padding, sitting too far into the content.)
VerticalLayout {
padding-left: 32px;
padding-right: 32px;
padding-top: 16px;
tracks-list := ListView {
width: 100%;
height: 100%;
@@ -521,14 +524,14 @@ export component LocalLibraryView inherits Rectangle {
}
}
}
ListScrollbar {
x: parent.width - self.width - 4px;
width: 14px;
height: 100%;
viewport-height: tracks-list.viewport-height;
visible-height: tracks-list.visible-height;
viewport-y <=> tracks-list.viewport-y;
}
}
ListScrollbar {
x: parent.width - self.width - 4px;
width: 14px;
height: 100%;
viewport-height: tracks-list.viewport-height;
visible-height: tracks-list.visible-height;
viewport-y <=> tracks-list.viewport-y;
}
}
}