This commit is contained in:
2025-11-29 18:10:51 +01:00
parent ceb4a51d3e
commit e7f575ca47

View File

@@ -50,9 +50,17 @@ enum Event {
fn handle_input_events(tx: mpsc::Sender<Event>) { fn handle_input_events(tx: mpsc::Sender<Event>) {
loop { loop {
match event::read().unwrap() { match event::read() {
event::Event::Key(key_event) => tx.send(Event::Input(key_event)).unwrap(), Ok(ev) => {
_ => {} if let event::Event::Key(key_event) = ev {
if tx.send(Event::Input(key_event)).is_err() {
break;
}
}
}
Err(_) => {
continue;
}
} }
} }
} }
@@ -64,7 +72,9 @@ fn run_background_thread(tx: mpsc::Sender<Event>) {
thread::sleep(Duration::from_millis(100)); thread::sleep(Duration::from_millis(100));
progress += INCREMENT; progress += INCREMENT;
progress = progress.min(1_f64); progress = progress.min(1_f64);
tx.send(Event::Progress(progress)).unwrap(); if tx.send(Event::Progress(progress)).is_err() {
break;
}
} }
} }
@@ -77,7 +87,11 @@ pub struct App {
impl App { impl App {
fn run(&mut self, terminal: &mut DefaultTerminal, rx: mpsc::Receiver<Event>) -> io::Result<()> { fn run(&mut self, terminal: &mut DefaultTerminal, rx: mpsc::Receiver<Event>) -> io::Result<()> {
while !self.exit { while !self.exit {
match rx.recv().unwrap() { let event: Event = match rx.recv() {
Ok(ev) => ev,
Err(_) => break,
};
match event {
Event::Input(key_event) => self.handle_key_event(key_event)?, Event::Input(key_event) => self.handle_key_event(key_event)?,
Event::Progress(progress) => self.background_progress = progress, Event::Progress(progress) => self.background_progress = progress,
} }