fix(sonarr): Construct and pass the AddRootFolderBody alongside all AddRootFolder events when publishing to the networking channel

This commit is contained in:
2024-12-17 21:48:52 -07:00
parent 43410fac60
commit 23971cbb76
7 changed files with 351 additions and 73 deletions
@@ -5,7 +5,7 @@ use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
use crate::handlers::table_handler::TableHandlingConfig;
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ROOT_FOLDERS_BLOCKS};
use crate::models::servarr_models::RootFolder;
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
use crate::models::HorizontallyScrollableText;
use crate::network::sonarr_network::SonarrEvent;
use crate::{handle_table_events, handle_text_box_keys, handle_text_box_left_right_keys};
@@ -28,6 +28,12 @@ impl<'a, 'b> RootFoldersHandler<'a, 'b> {
self.app.data.sonarr_data.root_folders,
RootFolder
);
fn build_add_root_folder_body(&mut self) -> AddRootFolderBody {
let root_folder = self.app.data.sonarr_data.edit_root_folder.as_ref().unwrap().text.clone();
self.app.data.sonarr_data.edit_root_folder = None;
AddRootFolderBody { path: root_folder }
}
}
impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for RootFoldersHandler<'a, 'b> {
@@ -140,7 +146,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for RootFoldersHandler<'
.text
.is_empty() =>
{
self.app.data.sonarr_data.prompt_confirm_action = Some(SonarrEvent::AddRootFolder(None));
self.app.data.sonarr_data.prompt_confirm_action = Some(SonarrEvent::AddRootFolder(self.build_add_root_folder_body()));
self.app.data.sonarr_data.prompt_confirm = true;
self.app.should_ignore_quit_key = false;
self.app.pop_navigation_stack();