feat(ui): Support for the episode details UI
This commit is contained in:
@@ -5,7 +5,7 @@ use crate::{
|
||||
context_clues::build_context_clue_string,
|
||||
sonarr::sonarr_context_clues::{
|
||||
DETAILS_CONTEXTUAL_CONTEXT_CLUES, EPISODE_DETAILS_CONTEXT_CLUES,
|
||||
EPISODE_HISTORY_CONTEXT_CLUES, MANUAL_EPISODE_SEARCH_CONTEXT_CLUES,
|
||||
MANUAL_EPISODE_SEARCH_CONTEXT_CLUES,
|
||||
MANUAL_SEASON_SEARCH_CONTEXT_CLUES, SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES,
|
||||
SEASON_DETAILS_CONTEXT_CLUES, SEASON_HISTORY_CONTEXT_CLUES,
|
||||
},
|
||||
@@ -288,7 +288,7 @@ impl Default for EpisodeDetailsModal {
|
||||
TabRoute {
|
||||
title: "History",
|
||||
route: ActiveSonarrBlock::EpisodeHistory.into(),
|
||||
help: build_context_clue_string(&EPISODE_HISTORY_CONTEXT_CLUES),
|
||||
help: build_context_clue_string(&EPISODE_DETAILS_CONTEXT_CLUES),
|
||||
contextual_help: Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)),
|
||||
},
|
||||
TabRoute {
|
||||
|
||||
@@ -7,7 +7,7 @@ mod tests {
|
||||
|
||||
use crate::app::context_clues::build_context_clue_string;
|
||||
use crate::app::sonarr::sonarr_context_clues::{
|
||||
DETAILS_CONTEXTUAL_CONTEXT_CLUES, EPISODE_DETAILS_CONTEXT_CLUES, EPISODE_HISTORY_CONTEXT_CLUES,
|
||||
DETAILS_CONTEXTUAL_CONTEXT_CLUES, EPISODE_DETAILS_CONTEXT_CLUES,
|
||||
MANUAL_EPISODE_SEARCH_CONTEXT_CLUES, MANUAL_SEASON_SEARCH_CONTEXT_CLUES,
|
||||
SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES, SEASON_DETAILS_CONTEXT_CLUES,
|
||||
SEASON_HISTORY_CONTEXT_CLUES,
|
||||
@@ -275,7 +275,7 @@ mod tests {
|
||||
);
|
||||
assert_str_eq!(
|
||||
episode_details_modal.episode_details_tabs.tabs[1].help,
|
||||
build_context_clue_string(&EPISODE_HISTORY_CONTEXT_CLUES)
|
||||
build_context_clue_string(&EPISODE_DETAILS_CONTEXT_CLUES)
|
||||
);
|
||||
assert_eq!(
|
||||
episode_details_modal.episode_details_tabs.tabs[1].contextual_help,
|
||||
|
||||
@@ -245,6 +245,7 @@ pub enum ActiveSonarrBlock {
|
||||
EpisodeDetails,
|
||||
EpisodeFile,
|
||||
EpisodeHistory,
|
||||
EpisodeHistoryDetails,
|
||||
EpisodesSortPrompt,
|
||||
FilterEpisodes,
|
||||
FilterEpisodesError,
|
||||
@@ -351,6 +352,17 @@ pub static SEASON_DETAILS_BLOCKS: [ActiveSonarrBlock; 15] = [
|
||||
ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
||||
];
|
||||
|
||||
pub static EPISODE_DETAILS_BLOCKS: [ActiveSonarrBlock; 8] = [
|
||||
ActiveSonarrBlock::EpisodeDetails,
|
||||
ActiveSonarrBlock::EpisodeHistory,
|
||||
ActiveSonarrBlock::EpisodeHistoryDetails,
|
||||
ActiveSonarrBlock::EpisodeFile,
|
||||
ActiveSonarrBlock::ManualEpisodeSearch,
|
||||
ActiveSonarrBlock::ManualEpisodeSearchConfirmPrompt,
|
||||
ActiveSonarrBlock::ManualEpisodeSearchSortPrompt,
|
||||
ActiveSonarrBlock::AutomaticallySearchEpisodePrompt,
|
||||
];
|
||||
|
||||
pub static ADD_SERIES_BLOCKS: [ActiveSonarrBlock; 13] = [
|
||||
ActiveSonarrBlock::AddSeriesAlreadyInLibrary,
|
||||
ActiveSonarrBlock::AddSeriesConfirmPrompt,
|
||||
|
||||
@@ -222,14 +222,7 @@ mod tests {
|
||||
}
|
||||
|
||||
mod active_sonarr_block_tests {
|
||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||
ActiveSonarrBlock, ADD_SERIES_BLOCKS, ADD_SERIES_SELECTION_BLOCKS, BLOCKLIST_BLOCKS,
|
||||
DELETE_SERIES_BLOCKS, DELETE_SERIES_SELECTION_BLOCKS, DOWNLOADS_BLOCKS, EDIT_INDEXER_BLOCKS,
|
||||
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, EDIT_SERIES_BLOCKS,
|
||||
EDIT_SERIES_SELECTION_BLOCKS, HISTORY_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS,
|
||||
INDEXER_SETTINGS_SELECTION_BLOCKS, LIBRARY_BLOCKS, ROOT_FOLDERS_BLOCKS,
|
||||
SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS, SYSTEM_DETAILS_BLOCKS,
|
||||
};
|
||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ADD_SERIES_BLOCKS, ADD_SERIES_SELECTION_BLOCKS, BLOCKLIST_BLOCKS, DELETE_SERIES_BLOCKS, DELETE_SERIES_SELECTION_BLOCKS, DOWNLOADS_BLOCKS, EDIT_INDEXER_BLOCKS, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, EDIT_SERIES_BLOCKS, EDIT_SERIES_SELECTION_BLOCKS, EPISODE_DETAILS_BLOCKS, HISTORY_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS, INDEXER_SETTINGS_SELECTION_BLOCKS, LIBRARY_BLOCKS, ROOT_FOLDERS_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS, SYSTEM_DETAILS_BLOCKS};
|
||||
|
||||
#[test]
|
||||
fn test_library_blocks_contents() {
|
||||
@@ -625,5 +618,18 @@ mod tests {
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualSeasonSearchSortPrompt));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::DeleteEpisodeFilePrompt));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_episode_details_blocks_contents() {
|
||||
assert_eq!(EPISODE_DETAILS_BLOCKS.len(), 8);
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::EpisodeDetails));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::EpisodeHistory));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::EpisodeHistoryDetails));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::EpisodeFile));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualEpisodeSearch));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualEpisodeSearchSortPrompt));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualEpisodeSearchConfirmPrompt));
|
||||
assert!(EPISODE_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::AutomaticallySearchEpisodePrompt));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user