diff --git a/src/handlers/handlers_tests.rs b/src/handlers/handlers_tests.rs index c436db9..9ce9708 100644 --- a/src/handlers/handlers_tests.rs +++ b/src/handlers/handlers_tests.rs @@ -231,8 +231,8 @@ mod tests { let expected_keybinding_items = Vec::from(SERVARR_CONTEXT_CLUES) .iter() .map(|(key, desc)| { - let (key, alt_key) = if key.alt.is_some() { - (key.key.to_string(), key.alt.as_ref().unwrap().to_string()) + let (key, alt_key) = if let Some(key1) = key.alt { + (key.key.to_string(), key1.to_string()) } else { (key.key.to_string(), String::new()) }; @@ -338,8 +338,8 @@ mod tests { } fn context_clue_to_keybinding_item(key: &KeyBinding, desc: &&str) -> KeybindingItem { - let (key, alt_key) = if key.alt.is_some() { - (key.key.to_string(), key.alt.as_ref().unwrap().to_string()) + let (key, alt_key) = if let Some(key1) = key.alt { + (key.key.to_string(), key1.to_string()) } else { (key.key.to_string(), String::new()) }; diff --git a/src/handlers/lidarr_handlers/indexers/edit_indexer_handler.rs b/src/handlers/lidarr_handlers/indexers/edit_indexer_handler.rs index a1aea6e..39cbfc6 100644 --- a/src/handlers/lidarr_handlers/indexers/edit_indexer_handler.rs +++ b/src/handlers/lidarr_handlers/indexers/edit_indexer_handler.rs @@ -506,18 +506,17 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveLidarrBlock> for EditIndexerHandler<' .tags ); } - ActiveLidarrBlock::EditIndexerPrompt => { + ActiveLidarrBlock::EditIndexerPrompt if self.app.data.lidarr_data.selected_block.get_active_block() == ActiveLidarrBlock::EditIndexerConfirmPrompt - && matches_key!(confirm, self.key) - { - self.app.data.lidarr_data.prompt_confirm = true; - self.app.data.lidarr_data.prompt_confirm_action = - Some(LidarrEvent::EditIndexer(self.build_edit_indexer_params())); - self.app.should_refresh = true; + && matches_key!(confirm, self.key) => + { + self.app.data.lidarr_data.prompt_confirm = true; + self.app.data.lidarr_data.prompt_confirm_action = + Some(LidarrEvent::EditIndexer(self.build_edit_indexer_params())); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/lidarr_handlers/indexers/edit_indexer_settings_handler.rs b/src/handlers/lidarr_handlers/indexers/edit_indexer_settings_handler.rs index 0de6cc1..d149133 100644 --- a/src/handlers/lidarr_handlers/indexers/edit_indexer_settings_handler.rs +++ b/src/handlers/lidarr_handlers/indexers/edit_indexer_settings_handler.rs @@ -106,10 +106,10 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveLidarrBlock> for IndexerSettingsHandl indexer_settings.maximum_size -= 1; } } - ActiveLidarrBlock::IndexerSettingsRssSyncIntervalInput => { - if indexer_settings.rss_sync_interval > 0 { - indexer_settings.rss_sync_interval -= 1; - } + ActiveLidarrBlock::IndexerSettingsRssSyncIntervalInput + if indexer_settings.rss_sync_interval > 0 => + { + indexer_settings.rss_sync_interval -= 1; } _ => (), } diff --git a/src/handlers/lidarr_handlers/library/add_artist_handler.rs b/src/handlers/lidarr_handlers/library/add_artist_handler.rs index 7f4e63b..6c1a84e 100644 --- a/src/handlers/lidarr_handlers/library/add_artist_handler.rs +++ b/src/handlers/lidarr_handlers/library/add_artist_handler.rs @@ -591,16 +591,15 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveLidarrBlock> for AddArtistHandler<'a, .tags ) } - ActiveLidarrBlock::AddArtistPrompt => { + ActiveLidarrBlock::AddArtistPrompt if self.app.data.lidarr_data.selected_block.get_active_block() == ActiveLidarrBlock::AddArtistConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.lidarr_data.prompt_confirm = true; - self.app.data.lidarr_data.prompt_confirm_action = - Some(LidarrEvent::AddArtist(self.build_add_artist_body())); - self.app.pop_navigation_stack(); - } + && matches_key!(confirm, key) => + { + self.app.data.lidarr_data.prompt_confirm = true; + self.app.data.lidarr_data.prompt_confirm_action = + Some(LidarrEvent::AddArtist(self.build_add_artist_body())); + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/lidarr_handlers/library/artist_details_handler.rs b/src/handlers/lidarr_handlers/library/artist_details_handler.rs index 6911ff8..fa5fd77 100644 --- a/src/handlers/lidarr_handlers/library/artist_details_handler.rs +++ b/src/handlers/lidarr_handlers/library/artist_details_handler.rs @@ -293,16 +293,16 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveLidarrBlock> for ArtistDetailsHandler self.app.data.lidarr_data.selected_block = BlockSelectionState::new(EDIT_ARTIST_SELECTION_BLOCKS); } - _ if matches_key!(toggle_monitoring, key) => { - if !self.app.data.lidarr_data.albums.is_empty() { - self.app.data.lidarr_data.prompt_confirm = true; - self.app.data.lidarr_data.prompt_confirm_action = - Some(LidarrEvent::ToggleAlbumMonitoring(self.extract_album_id())); + _ if matches_key!(toggle_monitoring, key) + && !self.app.data.lidarr_data.albums.is_empty() => + { + self.app.data.lidarr_data.prompt_confirm = true; + self.app.data.lidarr_data.prompt_confirm_action = + Some(LidarrEvent::ToggleAlbumMonitoring(self.extract_album_id())); - self - .app - .pop_and_push_navigation_stack(self.active_lidarr_block.into()); - } + self + .app + .pop_and_push_navigation_stack(self.active_lidarr_block.into()); } _ => (), }, diff --git a/src/handlers/lidarr_handlers/library/edit_artist_handler.rs b/src/handlers/lidarr_handlers/library/edit_artist_handler.rs index 194a5e0..1d40941 100644 --- a/src/handlers/lidarr_handlers/library/edit_artist_handler.rs +++ b/src/handlers/lidarr_handlers/library/edit_artist_handler.rs @@ -428,18 +428,17 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveLidarrBlock> for EditArtistHandler<'a .tags ) } - ActiveLidarrBlock::EditArtistPrompt => { + ActiveLidarrBlock::EditArtistPrompt if self.app.data.lidarr_data.selected_block.get_active_block() == ActiveLidarrBlock::EditArtistConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.lidarr_data.prompt_confirm = true; - self.app.data.lidarr_data.prompt_confirm_action = - Some(LidarrEvent::EditArtist(self.build_edit_artist_params())); - self.app.should_refresh = true; + && matches_key!(confirm, key) => + { + self.app.data.lidarr_data.prompt_confirm = true; + self.app.data.lidarr_data.prompt_confirm_action = + Some(LidarrEvent::EditArtist(self.build_edit_artist_params())); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/lidarr_handlers/root_folders/add_root_folder_handler.rs b/src/handlers/lidarr_handlers/root_folders/add_root_folder_handler.rs index b6d1bf7..ea8f250 100644 --- a/src/handlers/lidarr_handlers/root_folders/add_root_folder_handler.rs +++ b/src/handlers/lidarr_handlers/root_folders/add_root_folder_handler.rs @@ -505,19 +505,18 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveLidarrBlock> for AddRootFolderHandler .tags ) } - ActiveLidarrBlock::AddRootFolderPrompt => { + ActiveLidarrBlock::AddRootFolderPrompt if self.app.data.lidarr_data.selected_block.get_active_block() == ActiveLidarrBlock::AddRootFolderConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.lidarr_data.prompt_confirm = true; - self.app.data.lidarr_data.prompt_confirm_action = Some(LidarrEvent::AddRootFolder( - self.build_add_root_folder_body(), - )); - self.app.should_refresh = true; + && matches_key!(confirm, key) => + { + self.app.data.lidarr_data.prompt_confirm = true; + self.app.data.lidarr_data.prompt_confirm_action = Some(LidarrEvent::AddRootFolder( + self.build_add_root_folder_body(), + )); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 375959c..bf72eb0 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -139,8 +139,8 @@ pub fn handle_events(key: Key, app: &mut App<'_>) { pub fn populate_keymapping_table(app: &mut App<'_>) { let context_clue_to_keybinding_item = |key: &KeyBinding, desc: &&str| { - let (key, alt_key) = if key.alt.is_some() { - (key.key.to_string(), key.alt.as_ref().unwrap().to_string()) + let (key, alt_key) = if let Some(key1) = key.alt { + (key.key.to_string(), key1.to_string()) } else { (key.key.to_string(), String::new()) }; diff --git a/src/handlers/radarr_handlers/collections/edit_collection_handler.rs b/src/handlers/radarr_handlers/collections/edit_collection_handler.rs index fe34986..a2d28c6 100644 --- a/src/handlers/radarr_handlers/collections/edit_collection_handler.rs +++ b/src/handlers/radarr_handlers/collections/edit_collection_handler.rs @@ -354,19 +354,18 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for EditCollectionHandle .path ) } - ActiveRadarrBlock::EditCollectionPrompt => { + ActiveRadarrBlock::EditCollectionPrompt if self.app.data.radarr_data.selected_block.get_active_block() == ActiveRadarrBlock::EditCollectionConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.radarr_data.prompt_confirm = true; - self.app.data.radarr_data.prompt_confirm_action = Some(RadarrEvent::EditCollection( - self.build_edit_collection_params(), - )); - self.app.should_refresh = true; + && matches_key!(confirm, key) => + { + self.app.data.radarr_data.prompt_confirm = true; + self.app.data.radarr_data.prompt_confirm_action = Some(RadarrEvent::EditCollection( + self.build_edit_collection_params(), + )); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/radarr_handlers/indexers/edit_indexer_handler.rs b/src/handlers/radarr_handlers/indexers/edit_indexer_handler.rs index d83ab1b..2862a74 100644 --- a/src/handlers/radarr_handlers/indexers/edit_indexer_handler.rs +++ b/src/handlers/radarr_handlers/indexers/edit_indexer_handler.rs @@ -507,18 +507,17 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for EditIndexerHandler<' .tags ); } - ActiveRadarrBlock::EditIndexerPrompt => { + ActiveRadarrBlock::EditIndexerPrompt if self.app.data.radarr_data.selected_block.get_active_block() == ActiveRadarrBlock::EditIndexerConfirmPrompt - && matches_key!(confirm, self.key) - { - self.app.data.radarr_data.prompt_confirm = true; - self.app.data.radarr_data.prompt_confirm_action = - Some(RadarrEvent::EditIndexer(self.build_edit_indexer_params())); - self.app.should_refresh = true; + && matches_key!(confirm, self.key) => + { + self.app.data.radarr_data.prompt_confirm = true; + self.app.data.radarr_data.prompt_confirm_action = + Some(RadarrEvent::EditIndexer(self.build_edit_indexer_params())); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler.rs b/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler.rs index 9145529..439bb2c 100644 --- a/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler.rs +++ b/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler.rs @@ -114,10 +114,10 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for IndexerSettingsHandl ActiveRadarrBlock::IndexerSettingsAvailabilityDelayInput => { indexer_settings.availability_delay -= 1; } - ActiveRadarrBlock::IndexerSettingsRssSyncIntervalInput => { - if indexer_settings.rss_sync_interval > 0 { - indexer_settings.rss_sync_interval -= 1; - } + ActiveRadarrBlock::IndexerSettingsRssSyncIntervalInput + if indexer_settings.rss_sync_interval > 0 => + { + indexer_settings.rss_sync_interval -= 1; } _ => (), } @@ -272,19 +272,18 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for IndexerSettingsHandl .whitelisted_hardcoded_subs ) } - ActiveRadarrBlock::AllIndexerSettingsPrompt => { + ActiveRadarrBlock::AllIndexerSettingsPrompt if self.app.data.radarr_data.selected_block.get_active_block() == ActiveRadarrBlock::IndexerSettingsConfirmPrompt - && matches_key!(confirm, self.key) - { - self.app.data.radarr_data.prompt_confirm = true; - self.app.data.radarr_data.prompt_confirm_action = Some( - RadarrEvent::EditAllIndexerSettings(self.build_edit_indexer_settings_body()), - ); - self.app.should_refresh = true; + && matches_key!(confirm, self.key) => + { + self.app.data.radarr_data.prompt_confirm = true; + self.app.data.radarr_data.prompt_confirm_action = Some( + RadarrEvent::EditAllIndexerSettings(self.build_edit_indexer_settings_body()), + ); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/radarr_handlers/library/add_movie_handler.rs b/src/handlers/radarr_handlers/library/add_movie_handler.rs index 28609a7..895bc14 100644 --- a/src/handlers/radarr_handlers/library/add_movie_handler.rs +++ b/src/handlers/radarr_handlers/library/add_movie_handler.rs @@ -539,16 +539,15 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for AddMovieHandler<'a, .tags ) } - ActiveRadarrBlock::AddMoviePrompt => { + ActiveRadarrBlock::AddMoviePrompt if self.app.data.radarr_data.selected_block.get_active_block() == ActiveRadarrBlock::AddMovieConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.radarr_data.prompt_confirm = true; - self.app.data.radarr_data.prompt_confirm_action = - Some(RadarrEvent::AddMovie(self.build_add_movie_body())); - self.app.pop_navigation_stack(); - } + && matches_key!(confirm, key) => + { + self.app.data.radarr_data.prompt_confirm = true; + self.app.data.radarr_data.prompt_confirm_action = + Some(RadarrEvent::AddMovie(self.build_add_movie_body())); + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/radarr_handlers/library/edit_movie_handler.rs b/src/handlers/radarr_handlers/library/edit_movie_handler.rs index 593f08d..cd34fb4 100644 --- a/src/handlers/radarr_handlers/library/edit_movie_handler.rs +++ b/src/handlers/radarr_handlers/library/edit_movie_handler.rs @@ -376,18 +376,17 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for EditMovieHandler<'a, .tags ) } - ActiveRadarrBlock::EditMoviePrompt => { + ActiveRadarrBlock::EditMoviePrompt if self.app.data.radarr_data.selected_block.get_active_block() == ActiveRadarrBlock::EditMovieConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.radarr_data.prompt_confirm = true; - self.app.data.radarr_data.prompt_confirm_action = - Some(RadarrEvent::EditMovie(self.build_edit_movie_params())); - self.app.should_refresh = true; + && matches_key!(confirm, key) => + { + self.app.data.radarr_data.prompt_confirm = true; + self.app.data.radarr_data.prompt_confirm_action = + Some(RadarrEvent::EditMovie(self.build_edit_movie_params())); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/sonarr_handlers/indexers/edit_indexer_handler.rs b/src/handlers/sonarr_handlers/indexers/edit_indexer_handler.rs index 8d1394f..552b09a 100644 --- a/src/handlers/sonarr_handlers/indexers/edit_indexer_handler.rs +++ b/src/handlers/sonarr_handlers/indexers/edit_indexer_handler.rs @@ -506,18 +506,17 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for EditIndexerHandler<' .tags ); } - ActiveSonarrBlock::EditIndexerPrompt => { + ActiveSonarrBlock::EditIndexerPrompt if self.app.data.sonarr_data.selected_block.get_active_block() == ActiveSonarrBlock::EditIndexerConfirmPrompt - && matches_key!(confirm, self.key) - { - self.app.data.sonarr_data.prompt_confirm = true; - self.app.data.sonarr_data.prompt_confirm_action = - Some(SonarrEvent::EditIndexer(self.build_edit_indexer_params())); - self.app.should_refresh = true; + && matches_key!(confirm, self.key) => + { + self.app.data.sonarr_data.prompt_confirm = true; + self.app.data.sonarr_data.prompt_confirm_action = + Some(SonarrEvent::EditIndexer(self.build_edit_indexer_params())); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler.rs b/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler.rs index a6e3bb0..a2f2611 100644 --- a/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler.rs +++ b/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler.rs @@ -106,10 +106,10 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for IndexerSettingsHandl indexer_settings.maximum_size -= 1; } } - ActiveSonarrBlock::IndexerSettingsRssSyncIntervalInput => { - if indexer_settings.rss_sync_interval > 0 { - indexer_settings.rss_sync_interval -= 1; - } + ActiveSonarrBlock::IndexerSettingsRssSyncIntervalInput + if indexer_settings.rss_sync_interval > 0 => + { + indexer_settings.rss_sync_interval -= 1; } _ => (), } diff --git a/src/handlers/sonarr_handlers/library/add_series_handler.rs b/src/handlers/sonarr_handlers/library/add_series_handler.rs index 12af178..a13333e 100644 --- a/src/handlers/sonarr_handlers/library/add_series_handler.rs +++ b/src/handlers/sonarr_handlers/library/add_series_handler.rs @@ -606,16 +606,15 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for AddSeriesHandler<'a, .tags ) } - ActiveSonarrBlock::AddSeriesPrompt => { + ActiveSonarrBlock::AddSeriesPrompt if self.app.data.sonarr_data.selected_block.get_active_block() == ActiveSonarrBlock::AddSeriesConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.sonarr_data.prompt_confirm = true; - self.app.data.sonarr_data.prompt_confirm_action = - Some(SonarrEvent::AddSeries(self.build_add_series_body())); - self.app.pop_navigation_stack(); - } + && matches_key!(confirm, key) => + { + self.app.data.sonarr_data.prompt_confirm = true; + self.app.data.sonarr_data.prompt_confirm_action = + Some(SonarrEvent::AddSeries(self.build_add_series_body())); + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/sonarr_handlers/library/edit_series_handler.rs b/src/handlers/sonarr_handlers/library/edit_series_handler.rs index 4bd4d79..1b4dfbd 100644 --- a/src/handlers/sonarr_handlers/library/edit_series_handler.rs +++ b/src/handlers/sonarr_handlers/library/edit_series_handler.rs @@ -450,18 +450,17 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for EditSeriesHandler<'a .tags ) } - ActiveSonarrBlock::EditSeriesPrompt => { + ActiveSonarrBlock::EditSeriesPrompt if self.app.data.sonarr_data.selected_block.get_active_block() == ActiveSonarrBlock::EditSeriesConfirmPrompt - && matches_key!(confirm, key) - { - self.app.data.sonarr_data.prompt_confirm = true; - self.app.data.sonarr_data.prompt_confirm_action = - Some(SonarrEvent::EditSeries(self.build_edit_series_params())); - self.app.should_refresh = true; + && matches_key!(confirm, key) => + { + self.app.data.sonarr_data.prompt_confirm = true; + self.app.data.sonarr_data.prompt_confirm_action = + Some(SonarrEvent::EditSeries(self.build_edit_series_params())); + self.app.should_refresh = true; - self.app.pop_navigation_stack(); - } + self.app.pop_navigation_stack(); } _ => (), } diff --git a/src/handlers/table_handler_tests.rs b/src/handlers/table_handler_tests.rs index 0e3ff10..45dc7b4 100644 --- a/src/handlers/table_handler_tests.rs +++ b/src/handlers/table_handler_tests.rs @@ -893,7 +893,7 @@ mod tests { app.push_navigation_stack(ActiveRadarrBlock::MoviesSortPrompt.into()); let mut expected_vec = movies_vec(); - expected_vec.sort_by(|a, b| a.id.cmp(&b.id)); + expected_vec.sort_by_key(|a| a.id); expected_vec.reverse(); TableHandlerUnit::new( diff --git a/src/network/lidarr_network/blocklist/mod.rs b/src/network/lidarr_network/blocklist/mod.rs index 6f542e2..b38406e 100644 --- a/src/network/lidarr_network/blocklist/mod.rs +++ b/src/network/lidarr_network/blocklist/mod.rs @@ -82,7 +82,7 @@ impl Network<'_, '_> { Route::Lidarr(ActiveLidarrBlock::BlocklistSortPrompt, _) ) { let mut blocklist_vec: Vec = blocklist_resp.records; - blocklist_vec.sort_by(|a, b| a.id.cmp(&b.id)); + blocklist_vec.sort_by_key(|a| a.id); app.data.lidarr_data.blocklist.set_items(blocklist_vec); app.data.lidarr_data.blocklist.apply_sorting_toggle(false); } diff --git a/src/network/lidarr_network/history/mod.rs b/src/network/lidarr_network/history/mod.rs index de6a069..f37d876 100644 --- a/src/network/lidarr_network/history/mod.rs +++ b/src/network/lidarr_network/history/mod.rs @@ -31,7 +31,7 @@ impl Network<'_, '_> { Route::Lidarr(ActiveLidarrBlock::HistorySortPrompt, _) ) { let mut history_vec = history_response.records; - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); app.data.lidarr_data.history.set_items(history_vec); app.data.lidarr_data.history.apply_sorting_toggle(false); } diff --git a/src/network/lidarr_network/library/albums/mod.rs b/src/network/lidarr_network/library/albums/mod.rs index d99f1c5..5204b0a 100644 --- a/src/network/lidarr_network/library/albums/mod.rs +++ b/src/network/lidarr_network/library/albums/mod.rs @@ -33,7 +33,7 @@ impl Network<'_, '_> { self .handle_request::<(), Vec>(request_props, |mut albums_vec, mut app| { - albums_vec.sort_by(|a, b| a.id.cmp(&b.id)); + albums_vec.sort_by_key(|a| a.id); app.data.lidarr_data.albums.set_items(albums_vec); }) .await @@ -89,7 +89,7 @@ impl Network<'_, '_> { .get_or_insert_default(); let mut history_vec = history_items; - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); album_details_modal.album_history.set_items(history_vec); album_details_modal .album_history diff --git a/src/network/lidarr_network/library/artists/mod.rs b/src/network/lidarr_network/library/artists/mod.rs index 484fa66..948456a 100644 --- a/src/network/lidarr_network/library/artists/mod.rs +++ b/src/network/lidarr_network/library/artists/mod.rs @@ -64,7 +64,7 @@ impl Network<'_, '_> { app.get_current_route(), Route::Lidarr(ActiveLidarrBlock::ArtistsSortPrompt, _) ) { - artists_vec.sort_by(|a, b| a.id.cmp(&b.id)); + artists_vec.sort_by_key(|a| a.id); app.data.lidarr_data.artists.set_items(artists_vec); app.data.lidarr_data.artists.apply_sorting_toggle(false); } @@ -309,7 +309,7 @@ impl Network<'_, '_> { let artist_history = &mut app.data.lidarr_data.artist_history; if !is_sorting { - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); artist_history.set_items(history_vec); artist_history.apply_sorting_toggle(false); } diff --git a/src/network/lidarr_network/library/tracks/mod.rs b/src/network/lidarr_network/library/tracks/mod.rs index d24ddb5..1206f41 100644 --- a/src/network/lidarr_network/library/tracks/mod.rs +++ b/src/network/lidarr_network/library/tracks/mod.rs @@ -55,7 +55,7 @@ impl Network<'_, '_> { self .handle_request::<(), Vec>(request_props, |mut track_vec, mut app| { - track_vec.sort_by(|a, b| a.id.cmp(&b.id)); + track_vec.sort_by_key(|a| a.id); let album_details_modal = app .data .lidarr_data @@ -238,7 +238,7 @@ impl Network<'_, '_> { .into_iter() .filter(|it| it.track_id == track_id) .collect(); - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); track_details_modal.track_history.set_items(history_vec); track_details_modal .track_history diff --git a/src/network/lidarr_network/system/mod.rs b/src/network/lidarr_network/system/mod.rs index fb1b1cf..8f50f31 100644 --- a/src/network/lidarr_network/system/mod.rs +++ b/src/network/lidarr_network/system/mod.rs @@ -50,7 +50,7 @@ impl Network<'_, '_> { let log_lines = logs .into_iter() .map(|log| { - if log.exception.is_some() { + if let Some(exception) = log.exception { HorizontallyScrollableText::from(format!( "{}|{}|{}|{}|{}", log.time, @@ -63,10 +63,7 @@ impl Network<'_, '_> { .exception_type .as_ref() .expect("exception_type must exist when exception is present"), - log - .exception - .as_ref() - .expect("exception must exist in this branch") + exception )) } else { HorizontallyScrollableText::from(format!( diff --git a/src/network/radarr_network/blocklist/mod.rs b/src/network/radarr_network/blocklist/mod.rs index 333b05a..dc6b632 100644 --- a/src/network/radarr_network/blocklist/mod.rs +++ b/src/network/radarr_network/blocklist/mod.rs @@ -83,7 +83,7 @@ impl Network<'_, '_> { Route::Radarr(ActiveRadarrBlock::BlocklistSortPrompt, _) ) { let mut blocklist_vec = blocklist_resp.records; - blocklist_vec.sort_by(|a, b| a.id.cmp(&b.id)); + blocklist_vec.sort_by_key(|a| a.id); app.data.radarr_data.blocklist.set_items(blocklist_vec); app.data.radarr_data.blocklist.apply_sorting_toggle(false); } diff --git a/src/network/radarr_network/collections/mod.rs b/src/network/radarr_network/collections/mod.rs index 7c04146..f8c1af1 100644 --- a/src/network/radarr_network/collections/mod.rs +++ b/src/network/radarr_network/collections/mod.rs @@ -128,7 +128,7 @@ impl Network<'_, '_> { app.get_current_route(), Route::Radarr(ActiveRadarrBlock::CollectionsSortPrompt, _) ) { - collections_vec.sort_by(|a, b| a.id.cmp(&b.id)); + collections_vec.sort_by_key(|a| a.id); app.data.radarr_data.collections.set_items(collections_vec); app.data.radarr_data.collections.apply_sorting_toggle(false); } diff --git a/src/network/radarr_network/history/mod.rs b/src/network/radarr_network/history/mod.rs index 429b7dd..138ad76 100644 --- a/src/network/radarr_network/history/mod.rs +++ b/src/network/radarr_network/history/mod.rs @@ -31,7 +31,7 @@ impl Network<'_, '_> { Route::Radarr(ActiveRadarrBlock::HistorySortPrompt, _) ) { let mut history_vec = history_response.records; - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); app.data.radarr_data.history.set_items(history_vec); app.data.radarr_data.history.apply_sorting_toggle(false); } diff --git a/src/network/radarr_network/library/mod.rs b/src/network/radarr_network/library/mod.rs index 42b2d67..e373c58 100644 --- a/src/network/radarr_network/library/mod.rs +++ b/src/network/radarr_network/library/mod.rs @@ -270,7 +270,7 @@ impl Network<'_, '_> { app.get_current_route(), Route::Radarr(ActiveRadarrBlock::MoviesSortPrompt, _) ) { - movie_vec.sort_by(|a, b| a.id.cmp(&b.id)); + movie_vec.sort_by_key(|a| a.id); app.data.radarr_data.movies.set_items(movie_vec); app.data.radarr_data.movies.apply_sorting_toggle(false); } diff --git a/src/network/radarr_network/system/mod.rs b/src/network/radarr_network/system/mod.rs index 6091a55..40428cd 100644 --- a/src/network/radarr_network/system/mod.rs +++ b/src/network/radarr_network/system/mod.rs @@ -67,7 +67,7 @@ impl Network<'_, '_> { let log_lines = logs .into_iter() .map(|log| { - if log.exception.is_some() { + if let Some(exception) = log.exception { HorizontallyScrollableText::from(format!( "{}|{}|{}|{}|{}", log.time, @@ -80,10 +80,7 @@ impl Network<'_, '_> { .exception_type .as_ref() .expect("exception_type must exist when exception is present"), - log - .exception - .as_ref() - .expect("exception must exist in this branch") + exception )) } else { HorizontallyScrollableText::from(format!( diff --git a/src/network/sonarr_network/blocklist/mod.rs b/src/network/sonarr_network/blocklist/mod.rs index d43f46e..b1cfb6c 100644 --- a/src/network/sonarr_network/blocklist/mod.rs +++ b/src/network/sonarr_network/blocklist/mod.rs @@ -102,7 +102,7 @@ impl Network<'_, '_> { } }) .collect(); - blocklist_vec.sort_by(|a, b| a.id.cmp(&b.id)); + blocklist_vec.sort_by_key(|a| a.id); app.data.sonarr_data.blocklist.set_items(blocklist_vec); app.data.sonarr_data.blocklist.apply_sorting_toggle(false); } diff --git a/src/network/sonarr_network/history/mod.rs b/src/network/sonarr_network/history/mod.rs index 0fddf3c..72bbd7c 100644 --- a/src/network/sonarr_network/history/mod.rs +++ b/src/network/sonarr_network/history/mod.rs @@ -31,7 +31,7 @@ impl Network<'_, '_> { Route::Sonarr(ActiveSonarrBlock::HistorySortPrompt, _) ) { let mut history_vec = history_response.records; - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); app.data.sonarr_data.history.set_items(history_vec); app.data.sonarr_data.history.apply_sorting_toggle(false); } diff --git a/src/network/sonarr_network/library/episodes/mod.rs b/src/network/sonarr_network/library/episodes/mod.rs index 518c872..0eec86d 100644 --- a/src/network/sonarr_network/library/episodes/mod.rs +++ b/src/network/sonarr_network/library/episodes/mod.rs @@ -60,7 +60,7 @@ impl Network<'_, '_> { self .handle_request::<(), Vec>(request_props, |mut episode_vec, mut app| { - episode_vec.sort_by(|a, b| a.id.cmp(&b.id)); + episode_vec.sort_by_key(|a| a.id); if !matches!( app.get_current_route(), Route::Sonarr(ActiveSonarrBlock::EpisodesSortPrompt, _) @@ -151,7 +151,7 @@ impl Network<'_, '_> { .get_or_insert_default(); let mut history_vec = history_response.records; - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); episode_details_modal.episode_history.set_items(history_vec); episode_details_modal .episode_history diff --git a/src/network/sonarr_network/library/seasons/mod.rs b/src/network/sonarr_network/library/seasons/mod.rs index d165dff..c587965 100644 --- a/src/network/sonarr_network/library/seasons/mod.rs +++ b/src/network/sonarr_network/library/seasons/mod.rs @@ -158,7 +158,7 @@ impl Network<'_, '_> { if !is_sorting { let mut history_vec = history_items; - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); season_details_modal.season_history.set_items(history_vec); season_details_modal .season_history diff --git a/src/network/sonarr_network/library/series/mod.rs b/src/network/sonarr_network/library/series/mod.rs index 151cbe6..1247528 100644 --- a/src/network/sonarr_network/library/series/mod.rs +++ b/src/network/sonarr_network/library/series/mod.rs @@ -315,7 +315,7 @@ impl Network<'_, '_> { let series_history = app.data.sonarr_data.series_history.get_or_insert_default(); if !is_sorting { - history_vec.sort_by(|a, b| a.id.cmp(&b.id)); + history_vec.sort_by_key(|a| a.id); series_history.set_items(history_vec); series_history.apply_sorting_toggle(false); } @@ -337,7 +337,7 @@ impl Network<'_, '_> { app.get_current_route(), Route::Sonarr(ActiveSonarrBlock::SeriesSortPrompt, _) ) { - series_vec.sort_by(|a, b| a.id.cmp(&b.id)); + series_vec.sort_by_key(|a| a.id); app.data.sonarr_data.series.set_items(series_vec); app.data.sonarr_data.series.apply_sorting_toggle(false); } diff --git a/src/network/sonarr_network/system/mod.rs b/src/network/sonarr_network/system/mod.rs index d2c1ed6..c32b75b 100644 --- a/src/network/sonarr_network/system/mod.rs +++ b/src/network/sonarr_network/system/mod.rs @@ -50,7 +50,7 @@ impl Network<'_, '_> { let log_lines = logs .into_iter() .map(|log| { - if log.exception.is_some() { + if let Some(exception) = log.exception { HorizontallyScrollableText::from(format!( "{}|{}|{}|{}|{}", log.time, @@ -63,10 +63,7 @@ impl Network<'_, '_> { .exception_type .as_ref() .expect("exception_type must exist when exception is present"), - log - .exception - .as_ref() - .expect("exception must exist in this branch") + exception )) } else { HorizontallyScrollableText::from(format!( diff --git a/src/ui/lidarr_ui/indexers/mod.rs b/src/ui/lidarr_ui/indexers/mod.rs index 2968537..dc1d9af 100644 --- a/src/ui/lidarr_ui/indexers/mod.rs +++ b/src/ui/lidarr_ui/indexers/mod.rs @@ -52,33 +52,24 @@ impl DrawUi for IndexersUi { _ if TestAllIndexersUi::accepts(route) => TestAllIndexersUi::draw(f, app, area), Route::Lidarr(active_lidarr_block, _) => match active_lidarr_block { ActiveLidarrBlock::TestIndexer => { - if app.is_loading || app.data.lidarr_data.indexer_test_errors.is_none() { + if let Some(result) = app.data.lidarr_data.indexer_test_errors.as_ref().filter(|_| !app.is_loading) { + let popup = if !result.is_empty() { + Popup::new(Message::new(result.clone())).size(Size::LargeMessage) + } else { + let message = Message::new("Indexer test succeeded!") + .title("Success") + .style(success_style().bold()); + Popup::new(message).size(Size::Message) + }; + + f.render_widget(popup, f.area()); + } else { let loading_popup = Popup::new(LoadingBlock::new( app.is_loading || app.data.lidarr_data.indexer_test_errors.is_none(), title_block("Testing Indexer"), )) .size(Size::LargeMessage); f.render_widget(loading_popup, f.area()); - } else { - let popup = { - let result = app - .data - .lidarr_data - .indexer_test_errors - .as_ref() - .expect("Test result is unpopulated"); - - if !result.is_empty() { - Popup::new(Message::new(result.clone())).size(Size::LargeMessage) - } else { - let message = Message::new("Indexer test succeeded!") - .title("Success") - .style(success_style().bold()); - Popup::new(message).size(Size::Message) - } - }; - - f.render_widget(popup, f.area()); } } ActiveLidarrBlock::DeleteIndexerPrompt => { diff --git a/src/ui/lidarr_ui/system/mod.rs b/src/ui/lidarr_ui/system/mod.rs index 70e89f1..e34362d 100644 --- a/src/ui/lidarr_ui/system/mod.rs +++ b/src/ui/lidarr_ui/system/mod.rs @@ -107,9 +107,8 @@ pub(super) fn draw_queued_events(f: &mut Frame<'_>, app: &mut App<'_>, area: Rec } else { queued }; - let started_string = if event.started.is_some() { - let started = - convert_to_minutes_hours_days(Utc::now().sub(event.started.unwrap()).num_minutes()); + let started_string = if let Some(date_time) = event.started { + let started = convert_to_minutes_hours_days(Utc::now().sub(date_time).num_minutes()); if started != "now" { format!("{started} ago") @@ -120,8 +119,8 @@ pub(super) fn draw_queued_events(f: &mut Frame<'_>, app: &mut App<'_>, area: Rec String::new() }; - let duration = if event.duration.is_some() { - &event.duration.as_ref().unwrap()[..8] + let duration = if let Some(dur) = &event.duration { + &dur[..8] } else { "" }; diff --git a/src/ui/radarr_ui/indexers/mod.rs b/src/ui/radarr_ui/indexers/mod.rs index 3f9cee1..884ae9d 100644 --- a/src/ui/radarr_ui/indexers/mod.rs +++ b/src/ui/radarr_ui/indexers/mod.rs @@ -52,33 +52,24 @@ impl DrawUi for IndexersUi { _ if TestAllIndexersUi::accepts(route) => TestAllIndexersUi::draw(f, app, area), Route::Radarr(active_radarr_block, _) => match active_radarr_block { ActiveRadarrBlock::TestIndexer => { - if app.is_loading || app.data.radarr_data.indexer_test_errors.is_none() { + if let Some(result) = app.data.radarr_data.indexer_test_errors.as_ref().filter(|_| !app.is_loading) { + let popup = if !result.is_empty() { + Popup::new(Message::new(result.clone())).size(Size::LargeMessage) + } else { + let message = Message::new("Indexer test succeeded!") + .title("Success") + .style(success_style().bold()); + Popup::new(message).size(Size::Message) + }; + + f.render_widget(popup, f.area()); + } else { let loading_popup = Popup::new(LoadingBlock::new( app.is_loading || app.data.radarr_data.indexer_test_errors.is_none(), title_block("Testing Indexer"), )) .size(Size::LargeMessage); f.render_widget(loading_popup, f.area()); - } else { - let popup = { - let result = app - .data - .radarr_data - .indexer_test_errors - .as_ref() - .expect("Test result is unpopulated"); - - if !result.is_empty() { - Popup::new(Message::new(result.clone())).size(Size::LargeMessage) - } else { - let message = Message::new("Indexer test succeeded!") - .title("Success") - .style(success_style().bold()); - Popup::new(message).size(Size::Message) - } - }; - - f.render_widget(popup, f.area()); } } ActiveRadarrBlock::DeleteIndexerPrompt => { diff --git a/src/ui/radarr_ui/system/mod.rs b/src/ui/radarr_ui/system/mod.rs index 79cf00c..8bec01e 100644 --- a/src/ui/radarr_ui/system/mod.rs +++ b/src/ui/radarr_ui/system/mod.rs @@ -114,9 +114,8 @@ pub(super) fn draw_queued_events(f: &mut Frame<'_>, app: &mut App<'_>, area: Rec } else { queued }; - let started_string = if event.started.is_some() { - let started = - convert_to_minutes_hours_days(Utc::now().sub(event.started.unwrap()).num_minutes()); + let started_string = if let Some(date_time) = event.started { + let started = convert_to_minutes_hours_days(Utc::now().sub(date_time).num_minutes()); if started != "now" { format!("{started} ago") diff --git a/src/ui/sonarr_ui/indexers/mod.rs b/src/ui/sonarr_ui/indexers/mod.rs index 6dcda09..5d5c5ba 100644 --- a/src/ui/sonarr_ui/indexers/mod.rs +++ b/src/ui/sonarr_ui/indexers/mod.rs @@ -52,33 +52,24 @@ impl DrawUi for IndexersUi { _ if TestAllIndexersUi::accepts(route) => TestAllIndexersUi::draw(f, app, area), Route::Sonarr(active_sonarr_block, _) => match active_sonarr_block { ActiveSonarrBlock::TestIndexer => { - if app.is_loading || app.data.sonarr_data.indexer_test_errors.is_none() { + if let Some(result) = app.data.sonarr_data.indexer_test_errors.as_ref().filter(|_| !app.is_loading) { + let popup = if !result.is_empty() { + Popup::new(Message::new(result.clone())).size(Size::LargeMessage) + } else { + let message = Message::new("Indexer test succeeded!") + .title("Success") + .style(success_style().bold()); + Popup::new(message).size(Size::Message) + }; + + f.render_widget(popup, f.area()); + } else { let loading_popup = Popup::new(LoadingBlock::new( app.is_loading || app.data.sonarr_data.indexer_test_errors.is_none(), title_block("Testing Indexer"), )) .size(Size::LargeMessage); f.render_widget(loading_popup, f.area()); - } else { - let popup = { - let result = app - .data - .sonarr_data - .indexer_test_errors - .as_ref() - .expect("Test result is unpopulated"); - - if !result.is_empty() { - Popup::new(Message::new(result.clone())).size(Size::LargeMessage) - } else { - let message = Message::new("Indexer test succeeded!") - .title("Success") - .style(success_style().bold()); - Popup::new(message).size(Size::Message) - } - }; - - f.render_widget(popup, f.area()); } } ActiveSonarrBlock::DeleteIndexerPrompt => { diff --git a/src/ui/sonarr_ui/system/mod.rs b/src/ui/sonarr_ui/system/mod.rs index e983762..233acd7 100644 --- a/src/ui/sonarr_ui/system/mod.rs +++ b/src/ui/sonarr_ui/system/mod.rs @@ -107,9 +107,8 @@ pub(super) fn draw_queued_events(f: &mut Frame<'_>, app: &mut App<'_>, area: Rec } else { queued }; - let started_string = if event.started.is_some() { - let started = - convert_to_minutes_hours_days(Utc::now().sub(event.started.unwrap()).num_minutes()); + let started_string = if let Some(date_time) = event.started { + let started = convert_to_minutes_hours_days(Utc::now().sub(date_time).num_minutes()); if started != "now" { format!("{started} ago") @@ -120,8 +119,8 @@ pub(super) fn draw_queued_events(f: &mut Frame<'_>, app: &mut App<'_>, area: Rec String::new() }; - let duration = if event.duration.is_some() { - &event.duration.as_ref().unwrap()[..8] + let duration = if let Some(dur) = &event.duration { + &dur[..8] } else { "" }; diff --git a/src/ui/widgets/managarr_table.rs b/src/ui/widgets/managarr_table.rs index a463e6e..9b9cb35 100644 --- a/src/ui/widgets/managarr_table.rs +++ b/src/ui/widgets/managarr_table.rs @@ -125,11 +125,8 @@ where if let Some(content) = self.content && !self.is_loading { - let (table_contents, table_state) = if content.filtered_items.is_some() { - ( - content.filtered_items.as_ref().unwrap(), - content.filtered_state.as_mut().unwrap(), - ) + let (table_contents, table_state) = if let Some(items) = &content.filtered_items { + (items, content.filtered_state.as_mut().unwrap()) } else { (&content.items, &mut content.state) }; @@ -153,10 +150,11 @@ where StatefulWidget::render(table, table_area, buf, table_state); - if content.sort.is_some() && self.is_sorting { - let selectable_list = SelectableList::new(content.sort.as_mut().unwrap(), |item| { - ListItem::new(Text::from(item.name)) - }); + if let Some(sort) = &mut content.sort + && self.is_sorting + { + let selectable_list = + SelectableList::new(sort, |item| ListItem::new(Text::from(item.name))); Popup::new(selectable_list) .dimensions(20, 50) .render(table_area, buf);