From c7a62d959917334651622acbb9b3c88bf0fb2e05 Mon Sep 17 00:00:00 2001 From: Victoria Fischer Date: Sun, 31 May 2026 15:32:25 +0200 Subject: [PATCH] move prompt selection code into the same place --- src/main.rs | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main.rs b/src/main.rs index 9cc9feb..78de8ba 100644 --- a/src/main.rs +++ b/src/main.rs @@ -291,6 +291,17 @@ impl App { self.draw_status(frame, status_layout[1]); } + fn insert_selected_prompt(&mut self) { + let selected = self.next_reply_options[self.reply_state.selected().unwrap()].clone(); + if let Some(direction) = &selected.stage_direction { + self.insert_stage_direction(direction); + } + self.insert_reply(&selected.text); + self.save(); + self.speak(&selected.text.as_str()); + self.regenerate_responses(); + } + async fn on_event(&mut self, evt: event::Event) { if let Some(key) = evt.as_key_press_event() { match key.code { @@ -298,26 +309,12 @@ impl App { KeyCode::Down => self.reply_state.select_next(), KeyCode::Up => self.reply_state.select_previous(), KeyCode::Tab => { - let selected = self.next_reply_options[self.reply_state.selected().unwrap()].clone(); - if let Some(direction) = &selected.stage_direction { - self.insert_stage_direction(direction); - } - self.insert_reply(&selected.text); - self.save(); - self.speak(&selected.text.as_str()); - self.regenerate_responses(); + self.insert_selected_prompt(); }, KeyCode::Enter => { let next_msg = self.user_input.value_and_reset(); if next_msg.trim().is_empty() { - let selected = self.next_reply_options[self.reply_state.selected().unwrap()].clone(); - if let Some(direction) = &selected.stage_direction { - self.insert_stage_direction(direction); - } - self.insert_reply(&selected.text); - self.save(); - self.speak(&selected.text.as_str()); - self.regenerate_responses(); + self.insert_selected_prompt(); } else { if next_msg.starts_with("/") { let mut parts = next_msg.splitn(2, " ");