(&self, frame: &mut Frame, area: Rect, theme: &Theme, floating: bool)
| 567 | } |
| 568 | |
| 569 | fn render_footer(&self, frame: &mut Frame, area: Rect, theme: &Theme, floating: bool) { |
| 570 | if area.width == 0 || area.height == 0 { |
| 571 | return; |
| 572 | } |
| 573 | |
| 574 | let directory = self.context.directory.read().clone(); |
| 575 | let (prefix, leaf) = split_path_segments(&directory); |
| 576 | let lines = vec![ |
| 577 | Line::from(vec![ |
| 578 | Span::styled(prefix, Style::default().fg(theme.text_muted)), |
| 579 | Span::styled(leaf, Style::default().fg(theme.text)), |
| 580 | ]), |
| 581 | Line::from(vec![ |
| 582 | Span::styled("• ", Style::default().fg(theme.success)), |
| 583 | Span::styled( |
| 584 | format!("{} ({}) ", APP_NAME, APP_SHORT_NAME), |
| 585 | Style::default().fg(theme.text).bold(), |
| 586 | ), |
| 587 | Span::styled( |
| 588 | APP_VERSION_DATE, |
| 589 | Style::default().fg(theme.text_muted), |
| 590 | ), |
| 591 | ]), |
| 592 | ]; |
| 593 | |
| 594 | let mut paragraph = Paragraph::new(lines); |
| 595 | if !floating { |
| 596 | paragraph = paragraph.style(Style::default().bg(theme.background_panel)); |
| 597 | } |
| 598 | frame.render_widget(paragraph, area); |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | fn contains_point(area: Option<Rect>, col: u16, row: u16) -> bool { |
no test coverage detected