feat(handlers): Support for the episode details popup

This commit is contained in:
2024-12-12 18:52:27 -07:00
parent 12eb453fc7
commit 82ce38d7b5
8 changed files with 1618 additions and 194 deletions
@@ -22,6 +22,7 @@ use crate::{
use super::handle_change_tab_left_right_keys;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::handlers::sonarr_handlers::library::episode_details_handler::EpisodeDetailsHandler;
use crate::handlers::sonarr_handlers::library::season_details_handler::SeasonDetailsHandler;
use crate::handlers::sonarr_handlers::library::series_details_handler::SeriesDetailsHandler;
use crate::handlers::table_handler::TableHandlingConfig;
@@ -34,6 +35,7 @@ mod delete_series_handler;
mod library_handler_tests;
mod series_details_handler;
mod season_details_handler;
mod episode_details_handler;
pub(super) struct LibraryHandler<'a, 'b> {
key: Key,
@@ -81,6 +83,10 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for LibraryHandler<'a, '
SeasonDetailsHandler::with(self.key, self.app, self.active_sonarr_block, self.context)
.handle();
}
_ if EpisodeDetailsHandler::accepts(self.active_sonarr_block) => {
EpisodeDetailsHandler::with(self.key, self.app, self.active_sonarr_block, self.context)
.handle();
}
_ => self.handle_key_event(),
}
}
@@ -92,6 +98,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for LibraryHandler<'a, '
|| EditSeriesHandler::accepts(active_block)
|| SeriesDetailsHandler::accepts(active_block)
|| SeasonDetailsHandler::accepts(active_block)
|| EpisodeDetailsHandler::accepts(active_block)
|| LIBRARY_BLOCKS.contains(&active_block)
}