move prompt selection code into the same place
This commit is contained in:
+13
-16
@@ -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, " ");
|
||||
|
||||
Reference in New Issue
Block a user