switching now execute action functions left to right

This commit is contained in:
filipriec
2025-04-03 20:04:01 +02:00
parent e725c70570
commit 6d6fff474f
2 changed files with 186 additions and 211 deletions

View File

@@ -6,7 +6,7 @@ use crate::services::grpc_client::GrpcClient;
use crate::state::canvas_state::CanvasState;
use crate::state::pages::auth::AuthState;
use crate::state::pages::form::FormState;
use crate::functions::modes::read_only::form_ro::execute_action;
use crate::functions::modes::read_only::{auth_ro, form_ro};
use crossterm::event::KeyEvent;
pub async fn handle_read_only_event(
@@ -75,8 +75,7 @@ pub async fn handle_read_only_event(
key_sequence_tracker.add_key(key.code);
let sequence = key_sequence_tracker.get_sequence();
if let Some(action) = config.matches_key_sequence_generalized(&sequence)
{
if let Some(action) = config.matches_key_sequence_generalized(&sequence) {
let result = if app_state.ui.show_form && CONTEXT_ACTIONS_FORM.contains(&action) {
crate::tui::functions::form::handle_action(
action,
@@ -94,26 +93,24 @@ pub async fn handle_read_only_event(
ideal_cursor_column,
)
.await?
} else if app_state.ui.show_login {
auth_ro::execute_action(
action,
auth_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
} else {
if app_state.ui.show_login {
execute_action(
action,
auth_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
} else {
execute_action(
action,
form_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
}
form_ro::execute_action(
action,
form_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
};
key_sequence_tracker.reset();
return Ok((false, result));
@@ -124,9 +121,7 @@ pub async fn handle_read_only_event(
}
if sequence.len() == 1 && !config.is_key_sequence_prefix(&sequence) {
if let Some(action) =
config.get_read_only_action_for_key(key.code, key.modifiers)
{
if let Some(action) = config.get_read_only_action_for_key(key.code, key.modifiers) {
let result = if app_state.ui.show_form && CONTEXT_ACTIONS_FORM.contains(&action) {
crate::tui::functions::form::handle_action(
action,
@@ -144,39 +139,34 @@ pub async fn handle_read_only_event(
ideal_cursor_column,
)
.await?
} else if app_state.ui.show_login {
auth_ro::execute_action(
action,
auth_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
} else {
if app_state.ui.show_login {
execute_action(
action,
auth_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
} else {
execute_action(
action,
form_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
}
form_ro::execute_action(
action,
form_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
};
key_sequence_tracker.reset();
return Ok((false, result));
}
}
key_sequence_tracker.reset();
} else {
key_sequence_tracker.reset();
if let Some(action) =
config.get_read_only_action_for_key(key.code, key.modifiers)
{
if let Some(action) = config.get_read_only_action_for_key(key.code, key.modifiers) {
let result = if app_state.ui.show_form && CONTEXT_ACTIONS_FORM.contains(&action) {
crate::tui::functions::form::handle_action(
action,
@@ -194,26 +184,24 @@ pub async fn handle_read_only_event(
ideal_cursor_column,
)
.await?
} else if app_state.ui.show_login {
auth_ro::execute_action(
action,
auth_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
} else {
if app_state.ui.show_login {
execute_action(
action,
auth_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
} else {
execute_action(
action,
form_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
}
form_ro::execute_action(
action,
form_state,
ideal_cursor_column,
key_sequence_tracker,
command_message,
)
.await?
};
return Ok((false, result));
}