fix: Fixed a bug that was rendering encompassing blocks after other widgets were rendered, thus overwriting the custom styles on each previously rendered widget

This commit is contained in:
2025-03-10 15:01:58 -06:00
parent b1a0bdfbb6
commit 3afd74dcbf
18 changed files with 52 additions and 35 deletions
@@ -88,6 +88,7 @@ fn draw_edit_collection_confirmation_prompt(f: &mut Frame<'_>, app: &mut App<'_>
.clone()
.unwrap_or_default();
let title = format!("Edit - {collection_title}");
f.render_widget(title_block_centered(&title), area);
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::EditCollectionConfirmPrompt;
@@ -155,7 +156,6 @@ fn draw_edit_collection_confirmation_prompt(f: &mut Frame<'_>, app: &mut App<'_>
.title("Cancel")
.selected(!yes_no_value && highlight_yes_no);
f.render_widget(title_block_centered(&title), area);
f.render_widget(prompt_paragraph, paragraph_area);
f.render_widget(monitored_checkbox, monitored_area);
f.render_widget(min_availability_drop_down_button, min_availability_area);
+1 -1
View File
@@ -49,6 +49,7 @@ fn draw_edit_indexer_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let help_paragraph = Paragraph::new(help_text).centered();
if edit_indexer_modal_option.is_some() {
f.render_widget(block, area);
let edit_indexer_modal = edit_indexer_modal_option.as_ref().unwrap();
let [_, settings_area, _, buttons_area, help_area] = Layout::vertical([
@@ -163,7 +164,6 @@ fn draw_edit_indexer_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.title("Cancel")
.selected(!yes_no_value && highlight_yes_no);
f.render_widget(block, area);
f.render_widget(rss_checkbox, rss_area);
f.render_widget(auto_search_checkbox, auto_search_area);
f.render_widget(interactive_search_checkbox, interactive_search_area);
@@ -56,6 +56,7 @@ fn draw_edit_indexer_settings_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area:
let help_paragraph = Paragraph::new(help_text).centered();
if indexer_settings_option.is_some() {
f.render_widget(block, area);
let indexer_settings = indexer_settings_option.as_ref().unwrap();
let [_, settings_area, _, buttons_area, help_area] = Layout::vertical([
@@ -162,7 +163,6 @@ fn draw_edit_indexer_settings_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area:
.title("Cancel")
.selected(!yes_no_value && highlight_yes_no);
f.render_widget(block, area);
f.render_widget(prefer_indexer_flags_checkbox, prefer_flags_area);
f.render_widget(allow_hardcoded_subs_checkbox, allow_hardcoded_subs_area);
f.render_widget(save_button, save_area);
@@ -4,7 +4,7 @@ use crate::models::servarr_data::modals::IndexerTestResultModalItem;
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
use crate::models::Route;
use crate::ui::styles::ManagarrStyle;
use crate::ui::utils::{borderless_block, get_width_from_percentage, title_block};
use crate::ui::utils::{get_width_from_percentage, title_block};
use crate::ui::widgets::managarr_table::ManagarrTable;
use crate::ui::widgets::popup::Size;
use crate::ui::{draw_popup, DrawUi};
@@ -71,7 +71,6 @@ fn draw_test_all_indexers_test_results(f: &mut Frame<'_>, app: &mut App<'_>, are
app.data.radarr_data.indexer_test_all_results.as_mut(),
test_results_row_mapping,
)
.block(borderless_block())
.loading(is_loading)
.footer(Some(help_footer))
.footer_alignment(Alignment::Center)
+3 -3
View File
@@ -170,7 +170,7 @@ fn draw_add_movie_search(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.centered();
search_box.show_cursor(f, search_box_area);
f.render_widget(layout_block(), results_area);
f.render_widget(layout_block().default(), results_area);
f.render_widget(search_box, search_box_area);
f.render_widget(help_paragraph, help_area);
}
@@ -182,7 +182,7 @@ fn draw_add_movie_search(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let error_message = Message::new("No movies found matching your query!");
let error_message_popup = Popup::new(error_message).size(Size::Message);
f.render_widget(layout_block(), results_area);
f.render_widget(layout_block().default(), results_area);
f.render_widget(error_message_popup, f.area());
f.render_widget(help_paragraph, help_area);
}
@@ -204,7 +204,7 @@ fn draw_add_movie_search(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
search_results_row_mapping,
)
.loading(is_loading)
.block(layout_block())
.block(layout_block().default())
.headers([
"",
"Title",
+1 -1
View File
@@ -80,6 +80,7 @@ fn draw_edit_movie_confirmation_prompt(f: &mut Frame<'_>, app: &mut App<'_>, are
.overview
.clone();
let title = format!("Edit - {movie_title}");
f.render_widget(title_block_centered(&title), area);
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::EditMovieConfirmPrompt;
@@ -157,7 +158,6 @@ fn draw_edit_movie_confirmation_prompt(f: &mut Frame<'_>, app: &mut App<'_>, are
.title("Cancel")
.selected(!yes_no_value && highlight_yes_no);
f.render_widget(title_block_centered(&title), area);
f.render_widget(prompt_paragraph, paragraph_area);
f.render_widget(monitored_checkbox, monitored_area);
f.render_widget(min_availability_drop_down_button, min_availability_area);
@@ -105,7 +105,6 @@ fn draw_tasks_popup(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.primary()
};
let tasks_table = ManagarrTable::new(Some(&mut app.data.radarr_data.tasks), tasks_row_mapping)
.block(borderless_block())
.loading(app.is_loading)
.margin(1)
.footer(help_footer)