working exactly as i want, now making the login up and down to work properly well

This commit is contained in:
filipriec
2025-03-30 15:03:12 +02:00
parent 6e04c1f267
commit b5a5ebd7c0
3 changed files with 104 additions and 32 deletions

View File

@@ -0,0 +1,38 @@
// src/tui/functions/login.rs
use crate::state::pages::auth::AuthState;
use crate::state::canvas_state::CanvasState;
pub async fn handle_move_up(
auth_state: &mut AuthState,
) -> Result<String, Box<dyn std::error::Error>> {
if auth_state.current_field > 0 {
auth_state.current_field -= 1;
} else {
// If at first field (username), cycle to button selection
auth_state.current_field = 0;
auth_state.return_selected = false;
}
// Reset cursor position for the field
auth_state.current_cursor_pos = auth_state.get_current_input().len();
Ok("".to_string())
}
pub async fn handle_move_down(
auth_state: &mut AuthState,
) -> Result<String, Box<dyn std::error::Error>> {
if auth_state.current_field < 1 {
// Moving down from username to password
auth_state.current_field += 1;
// Reset cursor position for the new field
auth_state.current_cursor_pos = auth_state.get_current_input().len();
} else {
// Moving from password field to button selection
auth_state.return_selected = false;
}
Ok("".to_string())
}