diff --git a/src/ui/list.rs b/src/ui/list.rs index 42f14bf..6d76c83 100644 --- a/src/ui/list.rs +++ b/src/ui/list.rs @@ -189,7 +189,14 @@ impl List { self.clamp_scrolling(height, rows.len()); } - pub fn render(&mut self, frame: &mut Frame, pos: Pos, size: Size, rows: Vec>) { + pub fn render( + &mut self, + frame: &mut Frame, + pos: Pos, + size: Size, + rows: Vec>, + focus: bool, + ) { self.stabilize(size.height as usize, &rows); for (i, row) in rows.into_iter().enumerate() { @@ -208,7 +215,7 @@ impl List { selected, selected_bg, } => { - let (fg, bg) = if self.cursor() == Some(&id) { + let (fg, bg) = if focus && self.cursor() == Some(&id) { (selected, selected_bg) } else { (normal, normal_bg) diff --git a/src/ui/room.rs b/src/ui/room.rs index c19c147..5f85dd1 100644 --- a/src/ui/room.rs +++ b/src/ui/room.rs @@ -235,7 +235,7 @@ impl EuphRoom { } let rows = Self::render_rows(joined); - self.nick_list.render(frame, pos, size, rows); + self.nick_list.render(frame, pos, size, rows, false); } fn render_hsplit(frame: &mut Frame, hsplit: i32) { diff --git a/src/ui/rooms.rs b/src/ui/rooms.rs index 6400e8b..3a08f7d 100644 --- a/src/ui/rooms.rs +++ b/src/ui/rooms.rs @@ -149,7 +149,7 @@ impl Rooms { async fn render_rooms(&mut self, frame: &mut Frame) { let rooms = self.stabilize_rooms().await; let rows = self.render_rows(rooms).await; - self.list.render(frame, Pos::ZERO, frame.size(), rows); + self.list.render(frame, Pos::ZERO, frame.size(), rows, true); } pub async fn handle_key_event(