feat: Further improved responsiveness and speed of the TUI

This commit is contained in:
2025-12-19 12:28:33 -07:00
parent 051f30b097
commit d69056e5d6
17 changed files with 118 additions and 98 deletions
+26 -18
View File
@@ -1,13 +1,13 @@
use std::sync::atomic::Ordering;
use ratatui::Frame;
use ratatui::layout::{Constraint, Layout, Rect};
use ratatui::widgets::{Cell, ListItem, Row};
use ratatui::Frame;
use crate::models::Route;
use crate::models::radarr_models::AddMovieSearchResult;
use crate::models::servarr_data::radarr::modals::AddMovieModal;
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ADD_MOVIE_BLOCKS};
use crate::models::Route;
use crate::models::servarr_data::radarr::radarr_data::{ADD_MOVIE_BLOCKS, ActiveRadarrBlock};
use crate::ui::radarr_ui::collections::CollectionsUi;
use crate::ui::styles::ManagarrStyle;
use crate::ui::utils::{
@@ -19,9 +19,9 @@ use crate::ui::widgets::managarr_table::ManagarrTable;
use crate::ui::widgets::message::Message;
use crate::ui::widgets::popup::{Popup, Size};
use crate::ui::widgets::selectable_list::SelectableList;
use crate::ui::{draw_popup, DrawUi};
use crate::ui::{DrawUi, draw_popup};
use crate::utils::convert_runtime;
use crate::{render_selectable_input_box, App};
use crate::{App, render_selectable_input_box};
#[cfg(test)]
#[path = "add_movie_ui_tests.rs"]
@@ -307,19 +307,27 @@ fn draw_confirmation_prompt(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
f.render_widget(title_block_centered(&title), area);
let [paragraph_area, root_folder_area, monitor_area, min_availability_area, quality_profile_area, tags_area, _, buttons_area] =
Layout::vertical([
Constraint::Length(6),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Fill(1),
Constraint::Length(3),
])
.margin(1)
.areas(area);
let [
paragraph_area,
root_folder_area,
monitor_area,
min_availability_area,
quality_profile_area,
tags_area,
_,
buttons_area,
] = Layout::vertical([
Constraint::Length(6),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Length(3),
Constraint::Fill(1),
Constraint::Length(3),
])
.margin(1)
.areas(area);
let prompt_paragraph = layout_paragraph_borderless(&prompt);
f.render_widget(prompt_paragraph, paragraph_area);