dialog on add table save working
This commit is contained in:
@@ -166,28 +166,31 @@ pub async fn run_ui() -> Result<()> {
|
||||
|
||||
// --- 1. Handle Terminal Events ---
|
||||
let mut event_outcome_result = Ok(EventOutcome::Ok(String::new()));
|
||||
let mut event_processed = false;
|
||||
// Poll for events *after* drawing and checking pending actions
|
||||
if crossterm_event::poll(std::time::Duration::from_millis(1))? {
|
||||
let event = event_reader.read_event().context("Failed to read terminal event")?;
|
||||
event_outcome_result = event_handler
|
||||
.handle_event(
|
||||
event,
|
||||
&config,
|
||||
&mut terminal,
|
||||
&mut grpc_client,
|
||||
&mut command_handler,
|
||||
&mut form_state,
|
||||
&mut auth_state,
|
||||
&mut login_state,
|
||||
&mut register_state,
|
||||
&mut intro_state,
|
||||
&mut admin_state,
|
||||
&mut buffer_state,
|
||||
&mut app_state,
|
||||
total_count,
|
||||
&mut current_position,
|
||||
)
|
||||
.await;
|
||||
event_processed = true; // Mark that we received and will process an event
|
||||
event_outcome_result = event_handler.handle_event(
|
||||
event,
|
||||
&config,
|
||||
&mut terminal,
|
||||
&mut grpc_client,
|
||||
&mut command_handler,
|
||||
&mut form_state,
|
||||
&mut auth_state,
|
||||
&mut login_state,
|
||||
&mut register_state,
|
||||
&mut intro_state,
|
||||
&mut admin_state,
|
||||
&mut buffer_state,
|
||||
&mut app_state,
|
||||
total_count,
|
||||
&mut current_position,
|
||||
).await;
|
||||
}
|
||||
|
||||
if event_processed {
|
||||
needs_redraw = true;
|
||||
}
|
||||
|
||||
@@ -226,13 +229,9 @@ pub async fn run_ui() -> Result<()> {
|
||||
Ok(result) => {
|
||||
app_state.hide_dialog(); // Hide loading indicator
|
||||
match result {
|
||||
Ok(success_message) => {
|
||||
event_handler.command_message = success_message;
|
||||
Ok(ref success_message) => {
|
||||
app_state.show_save_success_dialog(success_message);
|
||||
admin_state.add_table_state.has_unsaved_changes = false;
|
||||
// Optionally refresh profile tree if needed
|
||||
// let _ = UiService::initialize_app_state(&mut grpc_client, &mut app_state).await;
|
||||
// Navigate back to Admin view
|
||||
buffer_state.update_history(AppView::Admin);
|
||||
}
|
||||
Err(e) => {
|
||||
event_handler.command_message = format!("Save failed: {}", e);
|
||||
|
||||
Reference in New Issue
Block a user