refactor: Added accessor methods to servarr_data structs, replaced for loops with functional iterator chains, eliminated mutable state tracking, and updated network module to use get_or_insert_default() for modal options
This commit is contained in:
@@ -225,26 +225,14 @@ impl Network<'_, '_> {
|
||||
.cloned()
|
||||
.collect();
|
||||
|
||||
if app.data.radarr_data.movie_details_modal.is_none() {
|
||||
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal::default());
|
||||
}
|
||||
let modal = app
|
||||
.data
|
||||
.radarr_data
|
||||
.movie_details_modal
|
||||
.get_or_insert_default();
|
||||
|
||||
app
|
||||
.data
|
||||
.radarr_data
|
||||
.movie_details_modal
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.movie_cast
|
||||
.set_items(cast_vec);
|
||||
app
|
||||
.data
|
||||
.radarr_data
|
||||
.movie_details_modal
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.movie_crew
|
||||
.set_items(crew_vec);
|
||||
modal.movie_cast.set_items(cast_vec);
|
||||
modal.movie_crew.set_items(crew_vec);
|
||||
})
|
||||
.await
|
||||
}
|
||||
@@ -452,16 +440,11 @@ impl Network<'_, '_> {
|
||||
let mut reversed_movie_history_vec = movie_history_vec.to_vec();
|
||||
reversed_movie_history_vec.reverse();
|
||||
|
||||
if app.data.radarr_data.movie_details_modal.is_none() {
|
||||
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal::default())
|
||||
}
|
||||
|
||||
app
|
||||
.data
|
||||
.radarr_data
|
||||
.movie_details_modal
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.get_or_insert_default()
|
||||
.movie_history
|
||||
.set_items(reversed_movie_history_vec)
|
||||
})
|
||||
@@ -487,16 +470,11 @@ impl Network<'_, '_> {
|
||||
|
||||
self
|
||||
.handle_request::<(), Vec<RadarrRelease>>(request_props, |release_vec, mut app| {
|
||||
if app.data.radarr_data.movie_details_modal.is_none() {
|
||||
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal::default());
|
||||
}
|
||||
|
||||
app
|
||||
.data
|
||||
.radarr_data
|
||||
.movie_details_modal
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.get_or_insert_default()
|
||||
.movie_releases
|
||||
.set_items(release_vec);
|
||||
})
|
||||
|
||||
@@ -307,29 +307,21 @@ impl Network<'_, '_> {
|
||||
|
||||
self
|
||||
.handle_request::<(), Vec<SonarrHistoryItem>>(request_props, |mut history_vec, mut app| {
|
||||
if app.data.sonarr_data.series_history.is_none() {
|
||||
app.data.sonarr_data.series_history = Some(StatefulTable::default());
|
||||
}
|
||||
|
||||
if !matches!(
|
||||
let is_sorting = matches!(
|
||||
app.get_current_route(),
|
||||
Route::Sonarr(ActiveSonarrBlock::SeriesHistorySortPrompt, _)
|
||||
) {
|
||||
);
|
||||
|
||||
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));
|
||||
app
|
||||
.data
|
||||
.sonarr_data
|
||||
.series_history
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.set_items(history_vec);
|
||||
app
|
||||
.data
|
||||
.sonarr_data
|
||||
.series_history
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.apply_sorting_toggle(false);
|
||||
series_history.set_items(history_vec);
|
||||
series_history.apply_sorting_toggle(false);
|
||||
}
|
||||
})
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user