From 00dad5d6735e621d7211d62c62eef3ea7b338df9 Mon Sep 17 00:00:00 2001 From: Priec Date: Fri, 22 Aug 2025 14:26:58 +0200 Subject: [PATCH] fixed buffer logic --- client/src/buffer/logic.rs | 20 ++++++++++++++++++++ client/src/buffer/mod.rs | 2 ++ client/src/modes/handlers/event.rs | 5 ++--- client/src/ui/handlers.rs | 2 -- client/src/ui/handlers/rat_state.rs | 24 ------------------------ 5 files changed, 24 insertions(+), 29 deletions(-) create mode 100644 client/src/buffer/logic.rs delete mode 100644 client/src/ui/handlers/rat_state.rs diff --git a/client/src/buffer/logic.rs b/client/src/buffer/logic.rs new file mode 100644 index 0000000..86e2a08 --- /dev/null +++ b/client/src/buffer/logic.rs @@ -0,0 +1,20 @@ +// src/buffer/logic.rs +use crossterm::event::{KeyCode, KeyModifiers}; +use crate::config::binds::config::Config; +use crate::state::app::state::UiState; + +/// Toggle the buffer list visibility based on keybindings. +pub fn toggle_buffer_list( + ui_state: &mut UiState, + config: &Config, + key: KeyCode, + modifiers: KeyModifiers, +) -> bool { + if let Some(action) = config.get_common_action(key, modifiers) { + if action == "toggle_buffer_list" { + ui_state.show_buffer_list = !ui_state.show_buffer_list; + return true; + } + } + false +} diff --git a/client/src/buffer/mod.rs b/client/src/buffer/mod.rs index 89a2cc9..a937ca3 100644 --- a/client/src/buffer/mod.rs +++ b/client/src/buffer/mod.rs @@ -3,7 +3,9 @@ pub mod state; pub mod functions; pub mod ui; +pub mod logic; pub use state::{AppView, BufferState}; pub use functions::*; pub use ui::render_buffer_list; +pub use logic::toggle_buffer_list; diff --git a/client/src/modes/handlers/event.rs b/client/src/modes/handlers/event.rs index c085117..fd85d42 100644 --- a/client/src/modes/handlers/event.rs +++ b/client/src/modes/handlers/event.rs @@ -1,7 +1,7 @@ // src/modes/handlers/event.rs use crate::config::binds::config::Config; use crate::config::binds::key_sequences::KeySequenceTracker; -use crate::buffer::{AppView, BufferState, switch_buffer, functions}; +use crate::buffer::{AppView, BufferState, switch_buffer, functions, toggle_buffer_list}; use crate::sidebar::toggle_sidebar; use crate::functions::modes::navigation::add_logic_nav; use crate::functions::modes::navigation::add_logic_nav::SaveLogicResultSender; @@ -38,7 +38,6 @@ use crate::tui::{ {admin, intro}, }; use crate::ui::handlers::context::UiContext; -use crate::ui::handlers::rat_state::UiStateHandler; use canvas::KeyEventOutcome; use anyhow::Result; use common::proto::komp_ac::search::search_response::Hit; @@ -452,7 +451,7 @@ impl EventHandler { ); return Ok(EventOutcome::Ok(message)); } - if UiStateHandler::toggle_buffer_list( + if toggle_buffer_list( &mut app_state.ui, config, key_code, diff --git a/client/src/ui/handlers.rs b/client/src/ui/handlers.rs index 20abda9..4121a2f 100644 --- a/client/src/ui/handlers.rs +++ b/client/src/ui/handlers.rs @@ -2,9 +2,7 @@ pub mod ui; pub mod render; -pub mod rat_state; pub mod context; pub use ui::run_ui; -pub use rat_state::*; pub use context::*; diff --git a/client/src/ui/handlers/rat_state.rs b/client/src/ui/handlers/rat_state.rs deleted file mode 100644 index 8f1a09e..0000000 --- a/client/src/ui/handlers/rat_state.rs +++ /dev/null @@ -1,24 +0,0 @@ -// client/src/ui/handlers/rat_state.rs -use crossterm::event::{KeyCode, KeyModifiers}; -use crate::config::binds::config::Config; -use crate::state::app::state::UiState; - -pub struct UiStateHandler; - -impl UiStateHandler { - - pub fn toggle_buffer_list( - ui_state: &mut UiState, - config: &Config, - key: KeyCode, - modifiers: KeyModifiers, - ) -> bool { - if let Some(action) = config.get_common_action(key, modifiers) { - if action == "toggle_buffer_list" { - ui_state.show_buffer_list = !ui_state.show_buffer_list; - return true; - } - } - false - } -}