From 306f4de14f221df07643450da3272d707f69dfdb Mon Sep 17 00:00:00 2001 From: filipriec Date: Mon, 31 Mar 2025 17:55:53 +0200 Subject: [PATCH] smart way, but introduced many errors --- client/src/modes/canvas/edit.rs | 4 ++-- client/src/modes/handlers/event.rs | 36 +++++++++++++++++++++--------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/client/src/modes/canvas/edit.rs b/client/src/modes/canvas/edit.rs index bd270c7..ade2b49 100644 --- a/client/src/modes/canvas/edit.rs +++ b/client/src/modes/canvas/edit.rs @@ -7,10 +7,10 @@ use crate::state::pages::form::FormState; use crate::services::grpc_client::GrpcClient; use crate::tui::functions::common::form::{save, revert}; -pub async fn handle_edit_event_internal( +pub async fn handle_edit_event_internal( key: KeyEvent, config: &Config, - form_state: &mut FormState, + state: &mut S, ideal_cursor_column: &mut usize, command_message: &mut String, is_saved: &mut bool, diff --git a/client/src/modes/handlers/event.rs b/client/src/modes/handlers/event.rs index 5056c68..92b1cbb 100644 --- a/client/src/modes/handlers/event.rs +++ b/client/src/modes/handlers/event.rs @@ -210,17 +210,31 @@ impl EventHandler { } // Let edit mode handle its own actions (including navigation from common bindings) - let result = edit::handle_edit_event_internal( - key, - config, - form_state, - &mut self.ideal_cursor_column, - &mut self.command_message, - &mut app_state.ui.is_saved, - current_position, - total_count, - grpc_client, - ).await?; + if app_state.ui.show_login { + let result = edit::handle_edit_event_internal( + key, + config, + &mut self.auth_state, // Use auth_state instead of form_state + &mut self.ideal_cursor_column, + &mut self.command_message, + &mut app_state.ui.is_saved, + current_position, + total_count, + grpc_client, + ).await?; + } else { + let result = edit::handle_edit_event_internal( + key, + config, + form_state, + &mut self.ideal_cursor_column, + &mut self.command_message, + &mut app_state.ui.is_saved, + current_position, + total_count, + grpc_client, + ).await?; + } self.key_sequence_tracker.reset(); return Ok((false, result));