From 6f22aad6f42b31c9720b457a391b9b49ff44eecd Mon Sep 17 00:00:00 2001 From: filipriec Date: Tue, 22 Apr 2025 18:17:41 +0200 Subject: [PATCH] working perfectly well admin panel for admin --- .../src/components/admin/admin_panel_admin.rs | 6 ++-- .../functions/modes/navigation/admin_nav.rs | 31 ++++--------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/client/src/components/admin/admin_panel_admin.rs b/client/src/components/admin/admin_panel_admin.rs index 147a450..26399f6 100644 --- a/client/src/components/admin/admin_panel_admin.rs +++ b/client/src/components/admin/admin_panel_admin.rs @@ -157,13 +157,13 @@ pub fn render_admin_panel_admin( // Build and render table list inside the block's inner area let table_list = List::new(table_list_items) - // Highlight style depends on whether the pane OR inside has focus - .highlight_style(if table_pane_has_focus { + // Highlight style only applies when focus is *inside* the list + .highlight_style(if admin_state.current_focus == AdminFocus::InsideTablesList { Style::default().add_modifier(ratatui::style::Modifier::REVERSED) } else { Style::default() }) - .highlight_symbol("> "); + .highlight_symbol(if admin_state.current_focus == AdminFocus::InsideTablesList { "> " } else { "" }); f.render_stateful_widget(table_list, tables_inner_area, &mut admin_state.table_list_state); diff --git a/client/src/functions/modes/navigation/admin_nav.rs b/client/src/functions/modes/navigation/admin_nav.rs index 436e7ed..2fa029a 100644 --- a/client/src/functions/modes/navigation/admin_nav.rs +++ b/client/src/functions/modes/navigation/admin_nav.rs @@ -67,19 +67,9 @@ pub fn handle_admin_navigation( *command_message = "Navigated profiles list".to_string(); } } - AdminFocus::Tables => { // Navigate highlight when focus is on the block - // Updates table navigation state - if let Some(nav_profile_idx) = admin_state.profile_list_state.selected() { - if let Some(profile) = app_state.profile_tree.profiles.get(nav_profile_idx) { - let table_count = profile.tables.len(); - if table_count > 0 { - admin_state.previous_table(table_count); - *command_message = "Navigated tables list".to_string(); - } else { - *command_message = "No tables in selected profile".to_string(); - } - } - } + AdminFocus::Tables => { + // Do nothing when focus is on the Tables pane itself + *command_message = "Press Enter to select and scroll tables".to_string(); } AdminFocus::InsideTablesList => { // Scroll inside if let Some(p_idx) = admin_state.profile_list_state.selected().or(admin_state.selected_profile_index) { // Use nav or persistent selection @@ -100,18 +90,9 @@ pub fn handle_admin_navigation( *command_message = "Navigated profiles list".to_string(); } } - AdminFocus::Tables => { // Navigate highlight when focus is on the block - if let Some(nav_profile_idx) = admin_state.profile_list_state.selected() { - if let Some(profile) = app_state.profile_tree.profiles.get(nav_profile_idx) { - let table_count = profile.tables.len(); - if table_count > 0 { - admin_state.next_table(table_count); - *command_message = "Navigated tables list".to_string(); - } - } else { - *command_message = "No tables in selected profile".to_string(); - } - } + AdminFocus::Tables => { + // Do nothing when focus is on the Tables pane itself + *command_message = "Press Enter to select and scroll tables".to_string(); } AdminFocus::InsideTablesList => { // Scroll inside if let Some(p_idx) = admin_state.profile_list_state.selected().or(admin_state.selected_profile_index) { // Use nav or persistent selection