From e20460f8115f802ae37d53ddf6a5550292f2425a Mon Sep 17 00:00:00 2001 From: filipriec Date: Sun, 16 Feb 2025 23:34:59 +0100 Subject: [PATCH] not exiting when entering through the app --- src/client/ui.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/client/ui.rs b/src/client/ui.rs index 5c3c369..ab28f10 100644 --- a/src/client/ui.rs +++ b/src/client/ui.rs @@ -1,7 +1,7 @@ // src/client/ui.rs use crossterm::event::{Event, KeyCode, KeyModifiers}; use crate::client::terminal::AppTerminal; -use crate::client::components::{render_command_line, render_form, render_preview_card, render_status_line}; // Add `render_status_line` +use crate::client::components::{render_command_line, render_form, render_preview_card, render_status_line}; use crate::client::colors::Theme; use ratatui::layout::{Constraint, Direction, Layout, Rect}; use std::env; @@ -87,7 +87,7 @@ pub fn run_ui() -> Result<(), Box> { render_command_line(f, root[2], &command_input, command_mode, &theme); })?; - // Event handling (unchanged) + // Event handling if let Event::Key(key) = app_terminal.read_event()? { if command_mode { match key.code { @@ -132,6 +132,10 @@ pub fn run_ui() -> Result<(), Box> { KeyCode::BackTab => current_field = current_field.saturating_sub(1), KeyCode::Down => current_field = (current_field + 1) % fields.len(), KeyCode::Up => current_field = current_field.saturating_sub(1), + KeyCode::Enter => { + // Move to the next field, wrapping around to the first field if necessary + current_field = (current_field + 1) % fields.len(); + } KeyCode::Char(c) => { match current_field { 0 => firma.push(c), @@ -172,13 +176,6 @@ pub fn run_ui() -> Result<(), Box> { _ => None, }; } - KeyCode::Enter => { - if current_field == fields.len() - 1 { - break; - } else { - current_field += 1; - } - } _ => {} } }