we successfully compiled and wen from auth state to login state and auth state

This commit is contained in:
filipriec
2025-04-13 17:47:00 +02:00
parent 1dd5f685a6
commit 3d0a9f2082
14 changed files with 120 additions and 114 deletions

View File

@@ -4,7 +4,8 @@ use crossterm::event::KeyEvent;
use crate::config::binds::config::Config;
use crate::state::state::AppState;
use crate::state::pages::form::FormState;
use crate::state::pages::auth::AuthState;
use crate::state::pages::auth::LoginState;
use crate::state::pages::auth::RegisterState;
use crate::state::canvas_state::CanvasState;
use crate::ui::handlers::context::UiContext;
use crate::modes::handlers::event::EventOutcome;
@@ -14,7 +15,8 @@ pub async fn handle_navigation_event(
config: &Config,
form_state: &mut FormState,
app_state: &mut AppState,
auth_state: &mut AuthState,
login_state: &mut LoginState,
register_state: &mut RegisterState,
command_mode: &mut bool,
command_input: &mut String,
command_message: &mut String,
@@ -22,7 +24,7 @@ pub async fn handle_navigation_event(
if let Some(action) = config.get_general_action(key.code, key.modifiers) {
match action {
"move_up" => {
move_up(app_state, auth_state);
move_up(app_state, login_state, register_state);
return Ok(EventOutcome::Ok(String::new()));
}
"move_down" => {
@@ -78,12 +80,17 @@ pub async fn handle_navigation_event(
Ok(EventOutcome::Ok(String::new()))
}
pub fn move_up(app_state: &mut AppState, auth_state: &mut AuthState) {
pub fn move_up(app_state: &mut AppState, login_state: &mut LoginState, register_state: &mut RegisterState) {
if app_state.ui.focus_outside_canvas && app_state.ui.show_login || app_state.ui.show_register{
if app_state.general.selected_item == 0 {
app_state.ui.focus_outside_canvas = false;
let last_field_index = auth_state.fields().len().saturating_sub(1);
auth_state.set_current_field(last_field_index);
if app_state.ui.show_login {
let last_field_index = login_state.fields().len().saturating_sub(1);
login_state.set_current_field(last_field_index);
} else {
let last_field_index = register_state.fields().len().saturating_sub(1);
register_state.set_current_field(last_field_index);
}
} else {
app_state.general.selected_item = app_state.general.selected_item.saturating_sub(1);
}