Stretch picker to full width and add colored log-level dots
This commit is contained in:
parent
e4182d32fa
commit
7e4be4e1af
1 changed files with 29 additions and 7 deletions
36
src/ui.rs
36
src/ui.rs
|
|
@ -26,12 +26,7 @@ fn draw_picker(f: &mut Frame, app: &App) {
|
|||
])
|
||||
.split(f.area());
|
||||
|
||||
let top = Layout::default()
|
||||
.direction(Direction::Horizontal)
|
||||
.constraints([Constraint::Percentage(35), Constraint::Percentage(65)])
|
||||
.split(chunks[0]);
|
||||
|
||||
draw_log_list(f, app, top[1]);
|
||||
draw_log_list(f, app, chunks[0]);
|
||||
draw_preview(f, app, chunks[1]);
|
||||
draw_status(f, app, chunks[2]);
|
||||
|
||||
|
|
@ -136,7 +131,11 @@ fn draw_log_buffer(f: &mut Frame, viewer: &LogViewer, area: ratatui::layout::Rec
|
|||
if is_match {
|
||||
style = style.bg(Color::Yellow).fg(Color::Black);
|
||||
}
|
||||
Line::from(Span::styled(line.as_str(), style))
|
||||
let dot_color = log_level_color(line);
|
||||
Line::from(vec![
|
||||
Span::styled("● ", Style::default().fg(dot_color)),
|
||||
Span::styled(line.as_str(), style),
|
||||
])
|
||||
})
|
||||
.collect();
|
||||
|
||||
|
|
@ -214,3 +213,26 @@ fn default_block(title: &str) -> Block<'_> {
|
|||
.borders(Borders::ALL)
|
||||
.border_style(Style::default().fg(Color::DarkGray))
|
||||
}
|
||||
|
||||
/// Determine a color for the log-level indicator dot based on the line content.
|
||||
fn log_level_color(line: &str) -> Color {
|
||||
let lower = line.to_lowercase();
|
||||
if lower.contains("error")
|
||||
|| lower.contains("critical")
|
||||
|| lower.contains("fatal")
|
||||
|| lower.contains("panic")
|
||||
|| lower.contains("emergency")
|
||||
{
|
||||
Color::Red
|
||||
} else if lower.contains("warn") || lower.contains("warning") {
|
||||
Color::Yellow
|
||||
} else if lower.contains("info") || lower.contains("notice") {
|
||||
Color::Cyan
|
||||
} else if lower.contains("debug") {
|
||||
Color::Gray
|
||||
} else if lower.contains("trace") {
|
||||
Color::DarkGray
|
||||
} else {
|
||||
Color::White
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue