diff --git a/client/src/components/admin.rs b/client/src/components/admin.rs deleted file mode 100644 index c52855c..0000000 --- a/client/src/components/admin.rs +++ /dev/null @@ -1,4 +0,0 @@ -// src/components/admin.rs -pub mod add_logic; - -pub use add_logic::*; diff --git a/client/src/components/mod.rs b/client/src/components/mod.rs index d2c38d6..ce068b7 100644 --- a/client/src/components/mod.rs +++ b/client/src/components/mod.rs @@ -1,9 +1,7 @@ // src/components/mod.rs -pub mod admin; pub mod common; pub mod utils; -pub use admin::*; pub use common::*; pub use utils::*; diff --git a/client/src/functions/mod.rs b/client/src/functions/mod.rs deleted file mode 100644 index 8b6a791..0000000 --- a/client/src/functions/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -// src/functions/mod.rs - -pub mod modes; - -pub use modes::*; diff --git a/client/src/functions/modes.rs b/client/src/functions/modes.rs deleted file mode 100644 index 1b94400..0000000 --- a/client/src/functions/modes.rs +++ /dev/null @@ -1,5 +0,0 @@ -// src/functions/modes.rs - -pub mod navigation; - -pub use navigation::*; diff --git a/client/src/functions/modes/navigation.rs b/client/src/functions/modes/navigation.rs deleted file mode 100644 index c9a474c..0000000 --- a/client/src/functions/modes/navigation.rs +++ /dev/null @@ -1,3 +0,0 @@ -// src/functions/modes/navigation.rs - -pub mod add_logic_nav; diff --git a/client/src/lib.rs b/client/src/lib.rs index 4acbd89..cee60d8 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -5,7 +5,6 @@ pub mod config; pub mod state; pub mod components; pub mod modes; -pub mod functions; pub mod services; pub mod utils; pub mod buffer; diff --git a/client/src/modes/handlers/event.rs b/client/src/modes/handlers/event.rs index ee681d5..d22e332 100644 --- a/client/src/modes/handlers/event.rs +++ b/client/src/modes/handlers/event.rs @@ -4,10 +4,8 @@ use crate::config::binds::key_sequences::KeySequenceTracker; use crate::buffer::{AppView, BufferState, switch_buffer, toggle_buffer_list}; use crate::sidebar::toggle_sidebar; use crate::search::event::handle_search_palette_event; -use crate::functions::modes::navigation::add_logic_nav; -use crate::functions::add_logic_nav::SaveLogicResultSender; -use crate::pages::admin_panel::add_table::nav::SaveTableResultSender; -use crate::pages::admin_panel::add_table::nav; +use crate::pages::admin_panel::add_logic; +use crate::pages::admin_panel::add_table; use crate::pages::register::suggestions::RoleSuggestionsProvider; use crate::pages::admin::main::logic::handle_admin_navigation; use crate::pages::admin::admin::tui::handle_admin_selection; @@ -82,8 +80,8 @@ pub struct EventHandler { pub grpc_client: GrpcClient, pub login_result_sender: mpsc::Sender, pub register_result_sender: mpsc::Sender, - pub save_table_result_sender: SaveTableResultSender, - pub save_logic_result_sender: SaveLogicResultSender, + pub save_table_result_sender: add_table::nav::SaveTableResultSender, + pub save_logic_result_sender: add_logic::nav::SaveLogicResultSender, pub navigation_state: NavigationState, pub search_result_sender: mpsc::UnboundedSender>, pub search_result_receiver: mpsc::UnboundedReceiver>, @@ -95,8 +93,8 @@ impl EventHandler { pub async fn new( login_result_sender: mpsc::Sender, register_result_sender: mpsc::Sender, - save_table_result_sender: SaveTableResultSender, - save_logic_result_sender: SaveLogicResultSender, + save_table_result_sender: add_table::nav::SaveTableResultSender, + save_logic_result_sender: add_logic::nav::SaveLogicResultSender, grpc_client: GrpcClient, ) -> Result { let (search_tx, search_rx) = unbounded_channel(); @@ -563,7 +561,7 @@ impl EventHandler { let client_clone = self.grpc_client.clone(); let sender_clone = self.save_logic_result_sender.clone(); - if add_logic_nav::handle_add_logic_navigation( + if add_logic::nav::handle_add_logic_navigation( key_event, config, app_state, @@ -581,7 +579,7 @@ impl EventHandler { if let Page::AddTable(add_table_state) = &mut router.current { let client_clone = self.grpc_client.clone(); let sender_clone = self.save_table_result_sender.clone(); - if nav::handle_add_table_navigation( + if add_table::nav::handle_add_table_navigation( key_event, config, app_state, diff --git a/client/src/pages/admin/admin/state.rs b/client/src/pages/admin/admin/state.rs index 2797b56..ef642c5 100644 --- a/client/src/pages/admin/admin/state.rs +++ b/client/src/pages/admin/admin/state.rs @@ -1,7 +1,7 @@ // src/pages/admin/admin/state.rs use ratatui::widgets::ListState; use crate::pages::admin_panel::add_table::state::AddTableState; -use crate::state::pages::add_logic::AddLogicState; +use crate::pages::admin_panel::add_logic::state::AddLogicState; use crate::movement::{move_focus, MovementAction}; use crate::state::app::state::AppState; diff --git a/client/src/pages/admin/main/logic.rs b/client/src/pages/admin/main/logic.rs index 57c4a18..89b716e 100644 --- a/client/src/pages/admin/main/logic.rs +++ b/client/src/pages/admin/main/logic.rs @@ -5,7 +5,7 @@ use crate::config::binds::config::Config; use crate::buffer::state::{BufferState, AppView}; use crate::pages::admin_panel::add_table::state::{AddTableState, LinkDefinition}; use ratatui::widgets::ListState; -use crate::state::pages::add_logic::{AddLogicState, AddLogicFocus}; // Added AddLogicFocus import +use crate::pages::admin_panel::add_logic::state::{AddLogicState, AddLogicFocus}; // Helper functions list_select_next and list_select_previous remain the same fn list_select_next(list_state: &mut ListState, item_count: usize) { diff --git a/client/src/pages/admin_panel/add_logic/mod.rs b/client/src/pages/admin_panel/add_logic/mod.rs new file mode 100644 index 0000000..60e4320 --- /dev/null +++ b/client/src/pages/admin_panel/add_logic/mod.rs @@ -0,0 +1,5 @@ +// src/pages/admin_panel/add_logic/mod.rs + +pub mod ui; +pub mod nav; +pub mod state; diff --git a/client/src/functions/modes/navigation/add_logic_nav.rs b/client/src/pages/admin_panel/add_logic/nav.rs similarity index 99% rename from client/src/functions/modes/navigation/add_logic_nav.rs rename to client/src/pages/admin_panel/add_logic/nav.rs index fd63ec3..2470902 100644 --- a/client/src/functions/modes/navigation/add_logic_nav.rs +++ b/client/src/pages/admin_panel/add_logic/nav.rs @@ -1,10 +1,8 @@ -// src/functions/modes/navigation/add_logic_nav.rs +// src/pages/admin_panel/add_logic/nav.rs use crate::config::binds::config::{Config, EditorKeybindingMode}; -use crate::state::{ - app::state::AppState, - pages::add_logic::{AddLogicFocus, AddLogicState}, -}; +use crate::state::app::state::AppState; +use crate::pages::admin_panel::add_logic::state::{AddLogicFocus, AddLogicState}; use crate::buffer::{AppView, BufferState}; use crossterm::event::{KeyEvent, KeyCode, KeyModifiers}; use crate::services::GrpcClient; diff --git a/client/src/state/pages/add_logic.rs b/client/src/pages/admin_panel/add_logic/state.rs similarity index 99% rename from client/src/state/pages/add_logic.rs rename to client/src/pages/admin_panel/add_logic/state.rs index 1439044..fdf8332 100644 --- a/client/src/state/pages/add_logic.rs +++ b/client/src/pages/admin_panel/add_logic/state.rs @@ -1,4 +1,4 @@ -// src/state/pages/add_logic.rs +// src/pages/admin_panel/add_logic/state.rs use crate::config::binds::config::{EditorConfig, EditorKeybindingMode}; use crate::components::common::text_editor::{TextEditor, VimState}; use canvas::{DataProvider, AppMode}; diff --git a/client/src/components/admin/add_logic.rs b/client/src/pages/admin_panel/add_logic/ui.rs similarity index 98% rename from client/src/components/admin/add_logic.rs rename to client/src/pages/admin_panel/add_logic/ui.rs index 88ae634..5e3824c 100644 --- a/client/src/components/admin/add_logic.rs +++ b/client/src/pages/admin_panel/add_logic/ui.rs @@ -1,7 +1,7 @@ -// src/components/admin/add_logic.rs +// src/pages/admin_panel/add_logic/ui.rs use crate::config::colors::themes::Theme; use crate::state::app::state::AppState; -use crate::state::pages::add_logic::{AddLogicFocus, AddLogicState}; +use crate::pages::admin_panel::add_logic::state::{AddLogicFocus, AddLogicState}; use canvas::{render_canvas, FormEditor}; use ratatui::{ layout::{Alignment, Constraint, Direction, Layout, Rect}, diff --git a/client/src/pages/admin_panel/mod.rs b/client/src/pages/admin_panel/mod.rs index 4608c09..3cd0c06 100644 --- a/client/src/pages/admin_panel/mod.rs +++ b/client/src/pages/admin_panel/mod.rs @@ -1,3 +1,4 @@ // src/pages/admin_panel/mod.rs pub mod add_table; +pub mod add_logic; diff --git a/client/src/pages/routing/router.rs b/client/src/pages/routing/router.rs index 3245805..70e12e5 100644 --- a/client/src/pages/routing/router.rs +++ b/client/src/pages/routing/router.rs @@ -1,8 +1,6 @@ // src/pages/routing/router.rs -use crate::state::pages::{ - auth::AuthState, - add_logic::AddLogicState, -}; +use crate::state::pages::auth::AuthState; +use crate::pages::admin_panel::add_logic::state::AddLogicState; use crate::pages::admin_panel::add_table::state::AddTableState; use crate::pages::admin::AdminState; use crate::pages::forms::FormState; diff --git a/client/src/services/ui_service.rs b/client/src/services/ui_service.rs index 075de60..01127f8 100644 --- a/client/src/services/ui_service.rs +++ b/client/src/services/ui_service.rs @@ -2,7 +2,7 @@ use crate::services::grpc_client::GrpcClient; use crate::state::app::state::AppState; -use crate::state::pages::add_logic::AddLogicState; +use crate::pages::admin_panel::add_logic::state::AddLogicState; use crate::pages::forms::logic::SaveOutcome; use crate::utils::columns::filter_user_columns; use crate::pages::forms::{FieldDefinition, FormState}; diff --git a/client/src/state/pages.rs b/client/src/state/pages.rs index 58dff4f..548a524 100644 --- a/client/src/state/pages.rs +++ b/client/src/state/pages.rs @@ -1,4 +1,3 @@ // src/state/pages.rs pub mod auth; -pub mod add_logic; diff --git a/client/src/ui/handlers/render.rs b/client/src/ui/handlers/render.rs index f5dae27..5e21805 100644 --- a/client/src/ui/handlers/render.rs +++ b/client/src/ui/handlers/render.rs @@ -1,9 +1,7 @@ // src/ui/handlers/render.rs -use crate::components::{ - admin::add_logic::render_add_logic, - render_background, -}; +use crate::components::render_background; +use crate::pages::admin_panel::add_logic::ui::render_add_logic; use crate::pages::admin_panel::add_table::ui::render_add_table; use crate::pages::login::render_login; use crate::pages::register::render_register;