feat(ui): Sonarr support for viewing season details
This commit is contained in:
@@ -13,9 +13,7 @@ use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, MOVIE_
|
||||
use crate::models::Route;
|
||||
use crate::ui::radarr_ui::library::draw_library;
|
||||
use crate::ui::styles::ManagarrStyle;
|
||||
use crate::ui::utils::{
|
||||
borderless_block, get_width_from_percentage, layout_block_bottom_border, layout_block_top_border,
|
||||
};
|
||||
use crate::ui::utils::{borderless_block, decorate_peer_style, get_width_from_percentage, layout_block_bottom_border, layout_block_top_border};
|
||||
use crate::ui::widgets::confirmation_prompt::ConfirmationPrompt;
|
||||
use crate::ui::widgets::loading_block::LoadingBlock;
|
||||
use crate::ui::widgets::managarr_table::ManagarrTable;
|
||||
@@ -555,13 +553,3 @@ fn style_from_download_status(download_status: &str, is_monitored: bool, status:
|
||||
_ => Style::new().downloaded(),
|
||||
}
|
||||
}
|
||||
|
||||
fn decorate_peer_style(seeders: u64, leechers: u64, text: Text<'_>) -> Text<'_> {
|
||||
if seeders == 0 {
|
||||
text.failure()
|
||||
} else if seeders < leechers {
|
||||
text.warning()
|
||||
} else {
|
||||
text.success()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
mod tests {
|
||||
use pretty_assertions::assert_eq;
|
||||
use ratatui::style::Style;
|
||||
use ratatui::text::Text;
|
||||
use rstest::rstest;
|
||||
use strum::IntoEnumIterator;
|
||||
|
||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, MOVIE_DETAILS_BLOCKS};
|
||||
use crate::ui::radarr_ui::library::movie_details_ui::{
|
||||
decorate_peer_style, style_from_download_status, MovieDetailsUi,
|
||||
use crate::ui::radarr_ui::library::movie_details_ui::{style_from_download_status, MovieDetailsUi,
|
||||
};
|
||||
use crate::ui::styles::ManagarrStyle;
|
||||
use crate::ui::DrawUi;
|
||||
@@ -43,36 +41,4 @@ mod tests {
|
||||
expected_style
|
||||
);
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
#[case(0, 0, PeerStyle::Failure)]
|
||||
#[case(1, 2, PeerStyle::Warning)]
|
||||
#[case(4, 2, PeerStyle::Success)]
|
||||
fn test_decorate_peer_style(
|
||||
#[case] seeders: u64,
|
||||
#[case] leechers: u64,
|
||||
#[case] expected_style: PeerStyle,
|
||||
) {
|
||||
let text = Text::from("test");
|
||||
match expected_style {
|
||||
PeerStyle::Failure => assert_eq!(
|
||||
decorate_peer_style(seeders, leechers, text.clone()),
|
||||
text.failure()
|
||||
),
|
||||
PeerStyle::Warning => assert_eq!(
|
||||
decorate_peer_style(seeders, leechers, text.clone()),
|
||||
text.warning()
|
||||
),
|
||||
PeerStyle::Success => assert_eq!(
|
||||
decorate_peer_style(seeders, leechers, text.clone()),
|
||||
text.success()
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
enum PeerStyle {
|
||||
Failure,
|
||||
Warning,
|
||||
Success,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user