diff --git a/src/gui/views/goblin/mod.rs b/src/gui/views/goblin/mod.rs index d3d0bf37..954d61ea 100644 --- a/src/gui/views/goblin/mod.rs +++ b/src/gui/views/goblin/mod.rs @@ -723,9 +723,12 @@ impl GoblinWalletView { } ui.add_space(if tall { 32.0 } else { 16.0 }); - // Numpad on mobile, typed input on desktop. - let typed_hint = View::is_desktop() && self.pay_amount.is_empty(); - if !View::is_desktop() { + // Numpad at narrow (mobile-shell) widths, typed input on the wide + // desktop layout — gate by width like the shell itself, or narrow + // desktop windows get neither input. + let narrow = ui.available_width() < 700.0; + let typed_hint = !narrow && self.pay_amount.is_empty(); + if narrow { w::numpad(ui, &mut self.pay_amount); } else { w::amount_typed_input(ui, &mut self.pay_amount); @@ -1134,6 +1137,15 @@ impl GoblinWalletView { }); ui.add_space(16.0); + // Mark the scroll boundary: rows clipping under the pinned profile + // card otherwise read as sliced glyphs on an invisible edge. + let line_y = ui.cursor().min.y; + ui.painter().hline( + ui.max_rect().x_range(), + line_y, + eframe::epaint::Stroke::new(1.0, t.line), + ); + ui.add_space(6.0); ScrollArea::vertical() .auto_shrink([false; 2]) .show(ui, |ui| {