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,7 @@ use crossterm::event::{KeyEvent, KeyCode, KeyModifiers};
use crate::config::binds::config::Config;
use crate::services::grpc_client::GrpcClient;
use crate::state::pages::form::FormState;
use crate::state::{state::AppState, pages::auth::AuthState};
use crate::state::{state::AppState, pages::auth::LoginState, pages::auth::RegisterState};
use crate::modes::common::commands::CommandHandler;
use crate::tui::terminal::core::TerminalCore;
use crate::tui::functions::common::form::{save, revert};
@@ -16,7 +16,8 @@ pub async fn handle_command_event(
key: KeyEvent,
config: &Config,
app_state: &AppState,
auth_state: &AuthState,
login_state: &LoginState,
register_state: &RegisterState,
form_state: &mut FormState,
command_input: &mut String,
command_message: &mut String,
@@ -39,7 +40,8 @@ pub async fn handle_command_event(
config,
form_state,
app_state,
auth_state,
login_state,
register_state,
command_input,
command_message,
grpc_client,
@@ -73,7 +75,8 @@ async fn process_command(
config: &Config,
form_state: &mut FormState,
app_state: &AppState,
auth_state: &AuthState,
login_state: &LoginState,
register_state: &RegisterState,
command_input: &mut String,
command_message: &mut String,
grpc_client: &mut GrpcClient,
@@ -101,7 +104,8 @@ async fn process_command(
terminal,
app_state,
form_state,
auth_state,
login_state,
register_state,
)
.await?;
command_input.clear();

View File

@@ -1,7 +1,7 @@
// src/modes/common/commands.rs
use crate::tui::terminal::core::TerminalCore;
use crate::state::state::AppState;
use crate::state::pages::{form::FormState, auth::AuthState};
use crate::state::pages::{form::FormState, auth::LoginState, auth::RegisterState};
use crate::state::canvas_state::CanvasState;
pub struct CommandHandler;
@@ -17,10 +17,11 @@ impl CommandHandler {
terminal: &mut TerminalCore,
app_state: &AppState,
form_state: &FormState,
auth_state: &AuthState,
login_state: &LoginState,
register_state: &RegisterState,
) -> Result<(bool, String), Box<dyn std::error::Error>> {
match action {
"quit" => self.handle_quit(terminal, app_state, form_state, auth_state).await,
"quit" => self.handle_quit(terminal, app_state, form_state, login_state, register_state).await,
"force_quit" => self.handle_force_quit(terminal).await,
"save_and_quit" => self.handle_save_quit(terminal).await,
_ => Ok((false, format!("Unknown command: {}", action))),
@@ -32,11 +33,14 @@ impl CommandHandler {
terminal: &mut TerminalCore,
app_state: &AppState,
form_state: &FormState,
auth_state: &AuthState,
login_state: &LoginState,
register_state: &RegisterState,
) -> Result<(bool, String), Box<dyn std::error::Error>> {
// Use actual unsaved changes state instead of is_saved flag
let has_unsaved = if app_state.ui.show_login {
auth_state.has_unsaved_changes()
login_state.has_unsaved_changes()
} else if app_state.ui.show_register {
register_state.has_unsaved_changes()
} else {
form_state.has_unsaved_changes
};