service search changed

This commit is contained in:
filipriec
2025-06-13 16:53:39 +02:00
parent 6abea062ba
commit 634a01f618
2 changed files with 15 additions and 19 deletions

View File

@@ -77,6 +77,7 @@ pub struct EventHandler {
pub ideal_cursor_column: usize,
pub key_sequence_tracker: KeySequenceTracker,
pub auth_client: AuthClient,
pub grpc_client: GrpcClient,
pub login_result_sender: mpsc::Sender<LoginResult>,
pub register_result_sender: mpsc::Sender<RegisterResult>,
pub save_table_result_sender: SaveTableResultSender,
@@ -92,6 +93,7 @@ impl EventHandler {
register_result_sender: mpsc::Sender<RegisterResult>,
save_table_result_sender: SaveTableResultSender,
save_logic_result_sender: SaveLogicResultSender,
grpc_client: GrpcClient,
) -> Result<Self> {
let (search_tx, search_rx) = unbounded_channel();
Ok(EventHandler {
@@ -104,6 +106,7 @@ impl EventHandler {
ideal_cursor_column: 0,
key_sequence_tracker: KeySequenceTracker::new(400),
auth_client: AuthClient::new().await?,
grpc_client,
login_result_sender,
register_result_sender,
save_table_result_sender,
@@ -126,7 +129,6 @@ impl EventHandler {
async fn handle_search_palette_event(
&mut self,
key_event: KeyEvent,
mut grpc_client: GrpcClient,
form_state: &mut FormState,
app_state: &mut AppState,
) -> Result<EventOutcome> {
@@ -184,6 +186,7 @@ impl EventHandler {
let query = search_state.input.clone();
let table_name = search_state.table_name.clone();
let sender = self.search_result_sender.clone();
let mut grpc_client = self.grpc_client.clone();
info!("--- 1. Spawning search task for query: '{}' ---", query);
// We now move the grpc_client into the task, just like with login.
@@ -221,7 +224,6 @@ impl EventHandler {
event: Event,
config: &Config,
terminal: &mut TerminalCore,
grpc_client: &mut GrpcClient,
command_handler: &mut CommandHandler,
form_state: &mut FormState,
auth_state: &mut AuthState,
@@ -232,16 +234,10 @@ impl EventHandler {
buffer_state: &mut BufferState,
app_state: &mut AppState,
) -> Result<EventOutcome> {
if let Ok(hits) = self.search_result_receiver.try_recv() {
if let Some(search_state) = app_state.search_state.as_mut() {
search_state.results = hits;
search_state.is_loading = false;
}
}
if app_state.ui.show_search_palette {
if let Event::Key(key_event) = event {
return self.handle_search_palette_event(key_event, grpc_client.clone(), form_state, app_state).await;
// The call no longer passes grpc_client
return self.handle_search_palette_event(key_event, form_state, app_state).await;
}
return Ok(EventOutcome::Ok(String::new()));
}
@@ -351,7 +347,7 @@ impl EventHandler {
}
if app_state.ui.show_add_logic {
let client_clone = grpc_client.clone();
let client_clone = self.grpc_client.clone();
let sender_clone = self.save_logic_result_sender.clone();
if add_logic_nav::handle_add_logic_navigation(
key_event, config, app_state, &mut admin_state.add_logic_state,
@@ -362,7 +358,7 @@ impl EventHandler {
}
if app_state.ui.show_add_table {
let client_clone = grpc_client.clone();
let client_clone = self.grpc_client.clone();
let sender_clone = self.save_table_result_sender.clone();
if add_table_nav::handle_add_table_navigation(
key_event, config, app_state, &mut admin_state.add_table_state,
@@ -459,7 +455,7 @@ impl EventHandler {
"save" | "force_quit" | "save_and_quit" | "revert" => {
return common_mode::handle_core_action(
action, form_state, auth_state, login_state, register_state,
grpc_client, &mut self.auth_client, terminal, app_state,
&mut self.grpc_client, &mut self.auth_client, terminal, app_state,
).await;
}
_ => {}
@@ -476,7 +472,7 @@ impl EventHandler {
&mut admin_state.add_table_state,
&mut admin_state.add_logic_state,
&mut self.key_sequence_tracker,
grpc_client,
&mut self.grpc_client, // <-- FIX 1
&mut self.command_message,
&mut self.edit_mode_cooldown,
&mut self.ideal_cursor_column,
@@ -510,7 +506,7 @@ impl EventHandler {
&mut admin_state.add_table_state,
&mut admin_state.add_logic_state,
&mut self.key_sequence_tracker,
grpc_client,
&mut self.grpc_client, // <-- FIX 2
&mut self.command_message,
&mut self.edit_mode_cooldown,
&mut self.ideal_cursor_column,
@@ -525,7 +521,7 @@ impl EventHandler {
"save" | "force_quit" | "save_and_quit" | "revert" => {
return common_mode::handle_core_action(
action, form_state, auth_state, login_state, register_state,
grpc_client, &mut self.auth_client, terminal, app_state,
&mut self.grpc_client, &mut self.auth_client, terminal, app_state, // <-- FIX 3
).await;
}
_ => {}
@@ -537,7 +533,7 @@ impl EventHandler {
let edit_result = edit::handle_edit_event(
key_event, config, form_state, login_state, register_state, admin_state,
&mut self.ideal_cursor_column, &mut current_position, total_count,
grpc_client, app_state,
&mut self.grpc_client, app_state, // <-- FIX 4
).await;
match edit_result {
@@ -580,7 +576,7 @@ impl EventHandler {
let total_count = form_state.total_count;
let outcome = command_mode::handle_command_event(
key_event, config, app_state, login_state, register_state, form_state,
&mut self.command_input, &mut self.command_message, grpc_client,
&mut self.command_input, &mut self.command_message, &mut self.grpc_client, // <-- FIX 5
command_handler, terminal, &mut current_position, total_count,
).await?;
form_state.current_position = current_position;

View File

@@ -55,6 +55,7 @@ pub async fn run_ui() -> Result<()> {
register_result_sender.clone(),
save_table_result_sender.clone(),
save_logic_result_sender.clone(),
grpc_client.clone(),
)
.await
.context("Failed to create event handler")?;
@@ -156,7 +157,6 @@ pub async fn run_ui() -> Result<()> {
event,
&config,
&mut terminal,
&mut grpc_client,
&mut command_handler,
&mut form_state,
&mut auth_state,