[Add] Performance graphs won't show if UI is small
This commit is contained in:
parent
bfefa46839
commit
b1ccd6bfc6
1 changed files with 41 additions and 23 deletions
|
|
@ -54,52 +54,70 @@ pub async fn render_tui() {
|
||||||
let mut terminal = TERMINAL.lock().await;
|
let mut terminal = TERMINAL.lock().await;
|
||||||
let _ = terminal.draw(|f| {
|
let _ = terminal.draw(|f| {
|
||||||
let area = f.area();
|
let area = f.area();
|
||||||
let chunks = Layout::default()
|
|
||||||
.direction(Direction::Horizontal)
|
let is_horizontal = area.width >= 120;
|
||||||
.constraints([
|
let chunks = if is_horizontal {
|
||||||
Constraint::Percentage(40),
|
Layout::default()
|
||||||
Constraint::Percentage(60),
|
.direction(Direction::Horizontal)
|
||||||
Constraint::Min(40),
|
.constraints([
|
||||||
])
|
Constraint::Percentage(40),
|
||||||
.split(area);
|
Constraint::Percentage(60),
|
||||||
|
Constraint::Min(40),
|
||||||
|
])
|
||||||
|
.split(area)
|
||||||
|
} else {
|
||||||
|
Layout::default()
|
||||||
|
.direction(Direction::Vertical)
|
||||||
|
.constraints([Constraint::Percentage(40), Constraint::Percentage(60)])
|
||||||
|
.split(area)
|
||||||
|
};
|
||||||
|
|
||||||
let state = APP_STATE.lock().unwrap().clone();
|
let state = APP_STATE.lock().unwrap().clone();
|
||||||
|
|
||||||
// LOGS PANEL
|
// LOGS PANEL
|
||||||
{
|
{
|
||||||
|
let borders = if is_horizontal {
|
||||||
|
Borders::LEFT.union(Borders::TOP).union(Borders::BOTTOM)
|
||||||
|
} else {
|
||||||
|
Borders::LEFT.union(Borders::RIGHT).union(Borders::TOP)
|
||||||
|
};
|
||||||
let items: Vec<ListItem> = state
|
let items: Vec<ListItem> = state
|
||||||
.logs
|
.logs
|
||||||
.iter()
|
.iter()
|
||||||
.rev()
|
.rev()
|
||||||
.map(|s| ListItem::new(s.clone()))
|
.map(|s| ListItem::new(s.clone()))
|
||||||
.collect();
|
.collect();
|
||||||
let list = List::new(items).block(
|
let list = List::new(items).block(Block::default().title("Logs").borders(borders));
|
||||||
Block::default()
|
|
||||||
.title("Logs")
|
|
||||||
.borders(Borders::LEFT.union(Borders::TOP).union(Borders::BOTTOM)),
|
|
||||||
);
|
|
||||||
f.render_widget(list, chunks[0]);
|
f.render_widget(list, chunks[0]);
|
||||||
}
|
}
|
||||||
// SETTINGS PANEL
|
// SETTINGS PANEL
|
||||||
{
|
{
|
||||||
|
let borders = if is_horizontal {
|
||||||
|
Borders::LEFT.union(Borders::TOP).union(Borders::BOTTOM)
|
||||||
|
} else {
|
||||||
|
Borders::ALL
|
||||||
|
};
|
||||||
settings_panel::draw(
|
settings_panel::draw(
|
||||||
f,
|
f,
|
||||||
chunks[1],
|
chunks[1],
|
||||||
Block::default()
|
Block::default().title("Settings").borders(borders),
|
||||||
.title("Settings")
|
|
||||||
.borders(Borders::LEFT.union(Borders::TOP).union(Borders::BOTTOM)),
|
|
||||||
password,
|
password,
|
||||||
state.clone(),
|
state.clone(),
|
||||||
);
|
);
|
||||||
draw_block_joins(
|
if is_horizontal {
|
||||||
f,
|
draw_block_joins(
|
||||||
chunks[1],
|
f,
|
||||||
Borders::TOP.union(Borders::LEFT).union(Borders::BOTTOM),
|
chunks[1],
|
||||||
Borders::LEFT,
|
Borders::TOP.union(Borders::LEFT).union(Borders::BOTTOM),
|
||||||
);
|
Borders::LEFT,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
draw_block_joins(f, chunks[1], Borders::ALL, Borders::TOP);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PERFORMANCE GRAPHS
|
// PERFORMANCE GRAPHS
|
||||||
{
|
if is_horizontal {
|
||||||
let stack = Layout::default()
|
let stack = Layout::default()
|
||||||
.direction(Direction::Vertical)
|
.direction(Direction::Vertical)
|
||||||
.constraints([
|
.constraints([
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue