From 2128a2d705b78806f6ef29f80e6598f2ef82ff82 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Fri, 2 Oct 2026 23:08:30 +0200 Subject: [PATCH] fix(app): the highest episode row on screen no longer stretches to the window bottom The watched and download buttons were laid out with with_layout(right_to_left, Center), which takes every point of height the scroll area has left and centres the buttons in it. Give the cluster the still's height instead. --- crates/pstr-app/src/ui/title.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/pstr-app/src/ui/title.rs b/crates/pstr-app/src/ui/title.rs index b3b6075..208adf5 100644 --- a/crates/pstr-app/src/ui/title.rs +++ b/crates/pstr-app/src/ui/title.rs @@ -643,8 +643,13 @@ fn episode_row( } }); - ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| { - ui.set_min_height(STILL.y); + // A fixed height, the still's. `with_layout` would hand the + // buttons all the height left in the scroll area's viewport and + // centre them in it, so whichever row sat highest on screen + // stretched down to the bottom of the window. + let cluster = egui::vec2(ui.available_width(), STILL.y); + let layout = egui::Layout::right_to_left(egui::Align::Center); + ui.allocate_ui_with_layout(cluster, layout, |ui| { if ui::widgets::watched_mark(ui, watched) .on_hover_text(if watched { "Mark unwatched"