fixed exit in the login dialog

This commit is contained in:
filipriec
2025-04-10 16:34:29 +02:00
parent e729ed9df3
commit 4e01740a61
2 changed files with 2 additions and 7 deletions

View File

@@ -59,14 +59,13 @@ pub async fn handle_dialog_event(
DialogPurpose::LoginSuccess => { DialogPurpose::LoginSuccess => {
match selected_index { match selected_index {
0 => { // "Menu" button selected 0 => { // "Menu" button selected
// Hide dialog before calling action that might change state further
app_state.hide_dialog(); app_state.hide_dialog();
let message = login::back_to_main(auth_state, app_state).await; let message = login::back_to_main(auth_state, app_state).await;
return Some(Ok(EventOutcome::Ok(message))); return Some(Ok(EventOutcome::Ok(message)));
} }
1 => { // "Exit" button selected 1 => {
app_state.hide_dialog(); app_state.hide_dialog();
return Some(Ok(EventOutcome::Exit("Exiting via dialog".to_string()))); return Some(Ok(EventOutcome::Ok("Exiting dialog".to_string())));
} }
_ => { _ => {
app_state.hide_dialog(); app_state.hide_dialog();

View File

@@ -72,16 +72,12 @@ impl EventHandler {
app_state.update_mode(current_mode); app_state.update_mode(current_mode);
// --- DIALOG MODALITY --- // --- DIALOG MODALITY ---
// If a dialog is showing, intercept and handle ONLY dialog inputs.
if app_state.ui.dialog.dialog_show { if app_state.ui.dialog.dialog_show {
// Pass event handling to the dedicated dialog handler, including necessary state
if let Some(dialog_result) = dialog::handle_dialog_event( if let Some(dialog_result) = dialog::handle_dialog_event(
&event, config, app_state, auth_state, &mut self.auth_client &event, config, app_state, auth_state, &mut self.auth_client
).await { ).await {
// If the dialog handler consumed the event, return its result
return dialog_result; return dialog_result;
} }
// Fallback if dialog handler returned None or event wasn't handled
return Ok(EventOutcome::Ok(String::new())); return Ok(EventOutcome::Ok(String::new()));
} }
// --- END DIALOG MODALITY CHECK --- // --- END DIALOG MODALITY CHECK ---