diff --git a/client/src/components/admin/add_table.rs b/client/src/components/admin/add_table.rs index 4deac01..94d00a4 100644 --- a/client/src/components/admin/add_table.rs +++ b/client/src/components/admin/add_table.rs @@ -381,8 +381,9 @@ pub fn render_add_table( let bottom_button_chunks = Layout::default() .direction(Direction::Horizontal) .constraints([ - Constraint::Percentage(50), // Save Button - Constraint::Percentage(50), // Cancel Button + Constraint::Percentage(33), // Save Button + Constraint::Percentage(34), // Delete Button + Constraint::Percentage(33), // Cancel Button ]) .split(bottom_buttons_area); @@ -403,6 +404,23 @@ pub fn render_add_table( ); f.render_widget(save_button, bottom_button_chunks[0]); + let delete_button = Paragraph::new(" Delete Selected ") + .style(get_button_style( + AddTableFocus::DeleteSelectedButton, + add_table_state.current_focus, + )) + .alignment(Alignment::Center) + .block( + Block::default() + .borders(Borders::ALL) + .border_type(BorderType::Rounded) + .border_style(get_button_border_style( + AddTableFocus::DeleteSelectedButton, + add_table_state.current_focus, + )), + ); + f.render_widget(delete_button, bottom_button_chunks[1]); + let cancel_button = Paragraph::new(" Cancel ") .style(get_button_style( AddTableFocus::CancelButton, @@ -418,5 +436,5 @@ pub fn render_add_table( add_table_state.current_focus, )), ); - f.render_widget(cancel_button, bottom_button_chunks[1]); + f.render_widget(cancel_button, bottom_button_chunks[2]); } diff --git a/client/src/functions/modes/navigation/add_table_nav.rs b/client/src/functions/modes/navigation/add_table_nav.rs index cc822b6..1670bc5 100644 --- a/client/src/functions/modes/navigation/add_table_nav.rs +++ b/client/src/functions/modes/navigation/add_table_nav.rs @@ -59,7 +59,9 @@ pub fn handle_add_table_navigation( } } AddTableFocus::SaveButton => new_focus = AddTableFocus::LinksTable, // Move up to left pane bottom - AddTableFocus::CancelButton => new_focus = AddTableFocus::SaveButton, + AddTableFocus::DeleteSelectedButton => new_focus = AddTableFocus::SaveButton, + AddTableFocus::CancelButton => new_focus = AddTableFocus::DeleteSelectedButton, + } } Some("move_down") => { @@ -83,7 +85,8 @@ pub fn handle_add_table_navigation( new_focus = AddTableFocus::SaveButton; // Move down to right pane bottom } } - AddTableFocus::SaveButton => new_focus = AddTableFocus::CancelButton, + AddTableFocus::SaveButton => new_focus = AddTableFocus::DeleteSelectedButton, + AddTableFocus::DeleteSelectedButton => new_focus = AddTableFocus::CancelButton, AddTableFocus::CancelButton => new_focus = AddTableFocus::InputTableName, // Wrap bottom (right pane) } } @@ -129,7 +132,8 @@ pub fn handle_add_table_navigation( AddTableFocus::ColumnsTable => AddTableFocus::IndexesTable, AddTableFocus::IndexesTable => AddTableFocus::LinksTable, AddTableFocus::LinksTable => AddTableFocus::SaveButton, - AddTableFocus::SaveButton => AddTableFocus::CancelButton, + AddTableFocus::SaveButton => AddTableFocus::DeleteSelectedButton, + AddTableFocus::DeleteSelectedButton => AddTableFocus::CancelButton, AddTableFocus::CancelButton => AddTableFocus::InputTableName, // Wrap }; } @@ -143,7 +147,8 @@ pub fn handle_add_table_navigation( AddTableFocus::IndexesTable => AddTableFocus::ColumnsTable, AddTableFocus::LinksTable => AddTableFocus::IndexesTable, AddTableFocus::SaveButton => AddTableFocus::LinksTable, - AddTableFocus::CancelButton => AddTableFocus::SaveButton, + AddTableFocus::DeleteSelectedButton => AddTableFocus::SaveButton, + AddTableFocus::CancelButton => AddTableFocus::DeleteSelectedButton, }; } @@ -159,6 +164,10 @@ pub fn handle_add_table_navigation( *command_message = "Action: Save Table (Not Implemented)".to_string(); // TODO: Implement logic } + AddTableFocus::DeleteSelectedButton => { + *command_message = "Action: Delete selected".to_string(); + // TODO: Implement logic + } AddTableFocus::CancelButton => { *command_message = "Action: Cancel Add Table".to_string(); // TODO: Implement logic diff --git a/client/src/state/pages/add_table.rs b/client/src/state/pages/add_table.rs index 8e84bea..67d35df 100644 --- a/client/src/state/pages/add_table.rs +++ b/client/src/state/pages/add_table.rs @@ -27,6 +27,7 @@ pub enum AddTableFocus { LinksTable, // Buttons SaveButton, + DeleteSelectedButton, CancelButton, }