Skip to main content

steer_tui/tui/handlers/
setup_impl.rs

1use super::setup::SetupHandler;
2use crate::error::Result;
3use crate::tui::InputMode;
4use crate::tui::Tui;
5use ratatui::crossterm::event::KeyEvent;
6
7impl Tui {
8    pub async fn handle_setup_mode(&mut self, key: KeyEvent) -> Result<bool> {
9        if let Some(new_mode) = SetupHandler::handle_key_event(self, key).await? {
10            // Check if setup is complete by looking for the default modes
11            if new_mode == InputMode::Simple || new_mode == InputMode::VimNormal {
12                self.input_mode = self.default_input_mode();
13                self.setup_state = None;
14            } else {
15                self.input_mode = new_mode;
16            }
17        }
18        Ok(false)
19    }
20}