feat(app): Dispatch support for all relevant Sonarr blocks

This commit is contained in:
2024-11-27 17:06:20 -07:00
parent 73a4129000
commit f139db07d9
86 changed files with 4075 additions and 3005 deletions
+11 -13
View File
@@ -51,7 +51,7 @@ fn draw_edit_indexer_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let block = title_block_centered("Edit Indexer");
let yes_no_value = app.data.radarr_data.prompt_confirm;
let selected_block = app.data.radarr_data.selected_block.get_active_block();
let highlight_yes_no = selected_block == &ActiveRadarrBlock::EditIndexerConfirmPrompt;
let highlight_yes_no = selected_block == ActiveRadarrBlock::EditIndexerConfirmPrompt;
let edit_indexer_modal_option = &app.data.radarr_data.edit_indexer_modal;
let protocol = &app.data.radarr_data.indexers.current_selection().protocol;
let help_text = Text::from(build_context_clue_string(&CONFIRMATION_PROMPT_CONTEXT_CLUES).help());
@@ -87,26 +87,26 @@ fn draw_edit_indexer_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
])
.areas(right_side_area);
if let Route::Radarr(active_radarr_block, _) = *app.get_current_route() {
if let Route::Radarr(active_radarr_block, _) = app.get_current_route() {
let name_input_box = InputBox::new(&edit_indexer_modal.name.text)
.offset(edit_indexer_modal.name.offset.load(Ordering::SeqCst))
.label("Name")
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerNameInput)
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerNameInput)
.selected(active_radarr_block == ActiveRadarrBlock::EditIndexerNameInput);
let url_input_box = InputBox::new(&edit_indexer_modal.url.text)
.offset(edit_indexer_modal.url.offset.load(Ordering::SeqCst))
.label("URL")
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerUrlInput)
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerUrlInput)
.selected(active_radarr_block == ActiveRadarrBlock::EditIndexerUrlInput);
let api_key_input_box = InputBox::new(&edit_indexer_modal.api_key.text)
.offset(edit_indexer_modal.api_key.offset.load(Ordering::SeqCst))
.label("API Key")
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerApiKeyInput)
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerApiKeyInput)
.selected(active_radarr_block == ActiveRadarrBlock::EditIndexerApiKeyInput);
let tags_input_box = InputBox::new(&edit_indexer_modal.tags.text)
.offset(edit_indexer_modal.tags.offset.load(Ordering::SeqCst))
.label("Tags")
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerTagsInput)
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerTagsInput)
.selected(active_radarr_block == ActiveRadarrBlock::EditIndexerTagsInput);
render_selectable_input_box!(name_input_box, f, name_area);
@@ -117,12 +117,12 @@ fn draw_edit_indexer_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let seed_ratio_input_box = InputBox::new(&edit_indexer_modal.seed_ratio.text)
.offset(edit_indexer_modal.seed_ratio.offset.load(Ordering::SeqCst))
.label("Seed Ratio")
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerSeedRatioInput)
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerSeedRatioInput)
.selected(active_radarr_block == ActiveRadarrBlock::EditIndexerSeedRatioInput);
let tags_input_box = InputBox::new(&edit_indexer_modal.tags.text)
.offset(edit_indexer_modal.tags.offset.load(Ordering::SeqCst))
.label("Tags")
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerTagsInput)
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerTagsInput)
.selected(active_radarr_block == ActiveRadarrBlock::EditIndexerTagsInput);
render_selectable_input_box!(seed_ratio_input_box, f, seed_ratio_area);
@@ -133,23 +133,21 @@ fn draw_edit_indexer_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let rss_checkbox = Checkbox::new("Enable RSS")
.checked(edit_indexer_modal.enable_rss.unwrap_or_default())
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerToggleEnableRss);
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerToggleEnableRss);
let auto_search_checkbox = Checkbox::new("Enable Automatic Search")
.checked(
edit_indexer_modal
.enable_automatic_search
.unwrap_or_default(),
)
.highlighted(selected_block == &ActiveRadarrBlock::EditIndexerToggleEnableAutomaticSearch);
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerToggleEnableAutomaticSearch);
let interactive_search_checkbox = Checkbox::new("Enable Interactive Search")
.checked(
edit_indexer_modal
.enable_interactive_search
.unwrap_or_default(),
)
.highlighted(
selected_block == &ActiveRadarrBlock::EditIndexerToggleEnableInteractiveSearch,
);
.highlighted(selected_block == ActiveRadarrBlock::EditIndexerToggleEnableInteractiveSearch);
let [save_area, cancel_area] =
Layout::horizontal([Constraint::Percentage(25), Constraint::Percentage(25)])