Change format of empty rooms list

This commit is contained in:
Joscha 2022-02-25 22:41:26 +01:00
parent e5910f45b4
commit d0708bfee1
2 changed files with 8 additions and 12 deletions

View file

@ -162,8 +162,8 @@ impl Ui {
]) ])
.split(frame.size()); .split(frame.size());
// frame.render_stateful_widget(Rooms::new(&self.rooms), outer[0], &mut self.rooms_state); frame.render_stateful_widget(Rooms::new(&self.rooms), outer[0], &mut self.rooms_state);
frame.render_stateful_widget(Rooms::dummy(), outer[0], &mut self.rooms_state); // frame.render_stateful_widget(Rooms::dummy(), outer[0], &mut self.rooms_state);
let scroll = if self.log.len() as u16 > outer[1].height { let scroll = if self.log.len() as u16 > outer[1].height {
self.log.len() as u16 - outer[1].height self.log.len() as u16 - outer[1].height

View file

@ -65,9 +65,6 @@ impl StatefulWidget for Rooms {
fn render(self, area: Rect, buf: &mut Buffer, state: &mut Self::State) { fn render(self, area: Rect, buf: &mut Buffer, state: &mut Self::State) {
let title_style = Style::default().add_modifier(Modifier::BOLD); let title_style = Style::default().add_modifier(Modifier::BOLD);
let empty_style = Style::default()
.fg(Color::Gray)
.add_modifier(Modifier::ITALIC);
let room_style = Style::default().fg(Color::LightBlue); let room_style = Style::default().fg(Color::LightBlue);
let selected_room_style = room_style.add_modifier(Modifier::BOLD); let selected_room_style = room_style.add_modifier(Modifier::BOLD);
@ -78,13 +75,12 @@ impl StatefulWidget for Rooms {
width: area.width - 1, width: area.width - 1,
..area ..area
}; };
let mut lines = vec![Spans::from(Span::styled("Rooms", title_style))]; let title = if let Some(selected) = self.selected {
if self.rooms.is_empty() { format!("Rooms ({}/{})", selected + 1, self.rooms.len())
lines.push(Spans::from(vec![ } else {
Span::raw("\r\n"), format!("Rooms ({})", self.rooms.len())
Span::styled("none", empty_style), };
])); let mut lines = vec![Spans::from(Span::styled(title, title_style))];
}
for (i, room) in self.rooms.iter().enumerate() { for (i, room) in self.rooms.iter().enumerate() {
let name = format!("&{}", room.name); let name = format!("&{}", room.name);
if Some(i) == self.selected { if Some(i) == self.selected {