From c32b0d289e877a01650a6259a4359b3de67709cc Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Tue, 8 Jul 2025 14:02:57 -0700 Subject: [PATCH] stop on internal app state --- src/main.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4655d33..0e628f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -69,6 +69,7 @@ enum CurrentScreen { Main, Sending, Receiving, + Stopping, } impl App { @@ -84,8 +85,8 @@ impl App { loop { terminal.draw(|frame| self.draw(frame))?; self.handle_events().await?; - let rstate = self.state.running_state.lock().await; - if *rstate == RunningState::Stopping { + + if self.screen == CurrentScreen::Stopping { break; } let peers = self.state.peers.lock().await; @@ -126,8 +127,9 @@ impl App { } } - async fn exit(&self) { + async fn exit(&mut self) { self.state.stop().await; + self.screen = CurrentScreen::Stopping; } async fn send(&mut self) {