fix: reduce render execution in the err loop

This commit is contained in:
Jack Wills
2025-02-21 11:41:26 +00:00
parent cef62b38aa
commit 53625e67cb
+17 -12
View File
@@ -126,30 +126,35 @@ impl Ui {
let mut seconds = 5; let mut seconds = 5;
let colors = self.app_data.lock().config.app_colors; let colors = self.app_data.lock().config.app_colors;
let keymap = self.app_data.lock().config.keymap.clone(); let keymap = self.app_data.lock().config.keymap.clone();
let mut render = true;
loop { loop {
if self.now.elapsed() >= std::time::Duration::from_secs(1) { if self.now.elapsed() >= std::time::Duration::from_secs(1) {
seconds -= 1; seconds -= 1;
self.now = Instant::now(); self.now = Instant::now();
render = true;
if seconds < 1 { if seconds < 1 {
break; break;
} }
} }
if self if render
.terminal && self
.draw(|f| { .terminal
draw_blocks::error::draw( .draw(|f| {
colors, draw_blocks::error::draw(
&AppError::DockerConnect, colors,
f, &AppError::DockerConnect,
&keymap, f,
Some(seconds), &keymap,
); Some(seconds),
}) );
.is_err() })
.is_err()
{ {
return Err(AppError::Terminal); return Err(AppError::Terminal);
} }
render = false;
std::thread::sleep(POLL_RATE);
} }
Ok(()) Ok(())
} }