feat(ui): Sonarr support for editing a series from within the series details popup

This commit is contained in:
2024-12-05 19:11:54 -07:00
parent b27c13cf74
commit 73d666d1f5
4 changed files with 17 additions and 9 deletions
+2 -1
View File
@@ -25,11 +25,12 @@ pub static SERIES_CONTEXT_CLUES: [ContextClue; 10] = [
(DEFAULT_KEYBINDINGS.esc, "cancel filter"),
];
pub static SERIES_DETAILS_CONTEXT_CLUES: [ContextClue; 6] = [
pub static SERIES_DETAILS_CONTEXT_CLUES: [ContextClue; 7] = [
(
DEFAULT_KEYBINDINGS.refresh,
DEFAULT_KEYBINDINGS.refresh.desc,
),
(DEFAULT_KEYBINDINGS.edit, DEFAULT_KEYBINDINGS.edit.desc),
(DEFAULT_KEYBINDINGS.submit, "season details"),
(DEFAULT_KEYBINDINGS.search, DEFAULT_KEYBINDINGS.search.desc),
(DEFAULT_KEYBINDINGS.update, DEFAULT_KEYBINDINGS.update.desc),
@@ -133,6 +133,11 @@ mod tests {
let (key_binding, description) = series_details_context_clues_iter.next().unwrap();
assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.edit);
assert_str_eq!(*description, DEFAULT_KEYBINDINGS.edit.desc);
let (key_binding, description) = series_details_context_clues_iter.next().unwrap();
assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit);
assert_str_eq!(*description, "season details");
@@ -1,5 +1,3 @@
use log::debug;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::event::Key;
+10 -6
View File
@@ -9,7 +9,9 @@ use ratatui::Frame;
use crate::app::context_clues::{build_context_clue_string, CONFIRMATION_PROMPT_CONTEXT_CLUES};
use crate::app::App;
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_SERIES_BLOCKS};
use crate::models::servarr_data::sonarr::sonarr_data::{
ActiveSonarrBlock, EDIT_SERIES_BLOCKS, SERIES_DETAILS_BLOCKS,
};
use crate::models::{EnumDisplayStyle, Route};
use crate::render_selectable_input_box;
use crate::ui::sonarr_ui::library::draw_library;
@@ -21,7 +23,9 @@ use crate::ui::widgets::checkbox::Checkbox;
use crate::ui::widgets::input_box::InputBox;
use crate::ui::widgets::popup::{Popup, Size};
use crate::ui::widgets::selectable_list::SelectableList;
use crate::ui::{draw_popup_over, DrawUi};
use crate::ui::{draw_popup, draw_popup_over, draw_popup_over_ui, DrawUi};
use super::series_details_ui::SeriesDetailsUi;
#[cfg(test)]
#[path = "edit_series_ui_tests.rs"]
@@ -76,10 +80,10 @@ impl DrawUi for EditSeriesUi {
Size::Long,
);
}
// _ if SERIES_DETAILS_BLOCKS.contains(&context) => {
// draw_popup_over_ui::<SeriesDetailsUi>(f, app, area, draw_library, Size::Large);
// draw_popup(f, app, draw_edit_series_prompt, Size::Medium);
// }
_ if SERIES_DETAILS_BLOCKS.contains(&context) => {
draw_popup_over_ui::<SeriesDetailsUi>(f, app, area, draw_library, Size::Large);
draw_popup(f, app, draw_edit_series_prompt, Size::Medium);
}
_ => (),
}
}