Optimized copy-able types

This commit is contained in:
2023-08-08 10:50:05 -06:00
parent 110da1c0ee
commit d358935386
13 changed files with 42 additions and 68 deletions
+2 -2
View File
@@ -43,7 +43,7 @@ pub trait KeyEventHandler<'a, T: Into<Route>> {
}
pub fn handle_events(key: Key, app: &mut App) {
if let Route::Radarr(active_radarr_block) = app.get_current_route().clone() {
if let Route::Radarr(active_radarr_block) = *app.get_current_route() {
RadarrHandler::with(&key, app, &active_radarr_block).handle()
}
}
@@ -57,7 +57,7 @@ fn handle_clear_errors(app: &mut App) {
fn handle_prompt_toggle(app: &mut App, key: &Key) {
match key {
_ if *key == DEFAULT_KEYBINDINGS.left.key || *key == DEFAULT_KEYBINDINGS.right.key => {
if let Route::Radarr(_) = app.get_current_route().clone() {
if let Route::Radarr(_) = *app.get_current_route() {
app.data.radarr_data.prompt_confirm = !app.data.radarr_data.prompt_confirm;
}
}
@@ -517,7 +517,7 @@ mod tests {
) {
let mut app = App::default();
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
app.data.radarr_data.selected_block = selected_block.clone();
app.data.radarr_data.selected_block = selected_block;
AddMovieHandler::with(&SUBMIT_KEY, &mut app, &ActiveRadarrBlock::AddMoviePrompt).handle();
@@ -536,7 +536,7 @@ mod tests {
) {
let mut app = App::default();
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
app.push_navigation_stack(active_radarr_block.clone().into());
app.push_navigation_stack(active_radarr_block.into());
AddMovieHandler::with(&SUBMIT_KEY, &mut app, &active_radarr_block).handle();
+12 -24
View File
@@ -205,25 +205,13 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for RadarrHandler<'a> {
_ if *self.key == DEFAULT_KEYBINDINGS.left.key => {
self.app.data.radarr_data.main_tabs.previous();
self.app.pop_and_push_navigation_stack(
self
.app
.data
.radarr_data
.main_tabs
.get_active_route()
.clone(),
*self.app.data.radarr_data.main_tabs.get_active_route(),
);
}
_ if *self.key == DEFAULT_KEYBINDINGS.right.key => {
self.app.data.radarr_data.main_tabs.next();
self.app.pop_and_push_navigation_stack(
self
.app
.data
.radarr_data
.main_tabs
.get_active_route()
.clone(),
*self.app.data.radarr_data.main_tabs.get_active_route(),
);
}
_ => (),
@@ -673,7 +661,7 @@ mod tests {
assert_eq!(
app.data.radarr_data.main_tabs.get_active_route(),
&expected_radarr_block.clone().into()
&expected_radarr_block.into()
);
assert_eq!(app.get_current_route(), &expected_radarr_block.into());
}
@@ -699,7 +687,7 @@ mod tests {
assert_eq!(
app.data.radarr_data.main_tabs.get_active_route(),
&expected_radarr_block.clone().into()
&expected_radarr_block.into()
);
assert_eq!(app.get_current_route(), &expected_radarr_block.into());
}
@@ -869,8 +857,8 @@ mod tests {
) {
let mut app = App::default();
app.data.radarr_data.prompt_confirm = true;
app.push_navigation_stack(base_route.clone().into());
app.push_navigation_stack(prompt_block.clone().into());
app.push_navigation_stack(base_route.into());
app.push_navigation_stack(prompt_block.into());
RadarrHandler::with(&SUBMIT_KEY, &mut app, &prompt_block).handle();
@@ -899,8 +887,8 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock,
) {
let mut app = App::default();
app.push_navigation_stack(base_route.clone().into());
app.push_navigation_stack(prompt_block.clone().into());
app.push_navigation_stack(base_route.into());
app.push_navigation_stack(prompt_block.into());
RadarrHandler::with(&SUBMIT_KEY, &mut app, &prompt_block).handle();
@@ -932,8 +920,8 @@ mod tests {
) {
let mut app = App::default();
app.should_ignore_quit_key = true;
app.push_navigation_stack(base_block.clone().into());
app.push_navigation_stack(search_block.clone().into());
app.push_navigation_stack(base_block.into());
app.push_navigation_stack(search_block.into());
app.data.radarr_data = create_test_radarr_data();
RadarrHandler::with(&ESC_KEY, &mut app, &search_block).handle();
@@ -960,8 +948,8 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock,
) {
let mut app = App::default();
app.push_navigation_stack(base_block.clone().into());
app.push_navigation_stack(prompt_block.clone().into());
app.push_navigation_stack(base_block.into());
app.push_navigation_stack(prompt_block.into());
app.data.radarr_data.prompt_confirm = true;
RadarrHandler::with(&ESC_KEY, &mut app, &prompt_block).handle();
@@ -88,25 +88,13 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for MovieDetailsHandler<'a> {
_ if *self.key == DEFAULT_KEYBINDINGS.left.key => {
self.app.data.radarr_data.movie_info_tabs.previous();
self.app.pop_and_push_navigation_stack(
self
.app
.data
.radarr_data
.movie_info_tabs
.get_active_route()
.clone(),
*self.app.data.radarr_data.movie_info_tabs.get_active_route(),
);
}
_ if *self.key == DEFAULT_KEYBINDINGS.right.key => {
self.app.data.radarr_data.movie_info_tabs.next();
self.app.pop_and_push_navigation_stack(
self
.app
.data
.radarr_data
.movie_info_tabs
.get_active_route()
.clone(),
*self.app.data.radarr_data.movie_info_tabs.get_active_route(),
);
}
_ => (),
@@ -393,14 +381,14 @@ mod tests {
#[case] right_block: ActiveRadarrBlock,
) {
let mut app = App::default();
app.push_navigation_stack(right_block.clone().into());
app.push_navigation_stack(right_block.into());
app.data.radarr_data.movie_info_tabs.index = app
.data
.radarr_data
.movie_info_tabs
.tabs
.iter()
.position(|tab_route| tab_route.route == right_block.clone().into())
.position(|tab_route| tab_route.route == right_block.into())
.unwrap_or_default();
MovieDetailsHandler::with(&DEFAULT_KEYBINDINGS.left.key, &mut app, &right_block).handle();
@@ -409,7 +397,7 @@ mod tests {
app.get_current_route(),
app.data.radarr_data.movie_info_tabs.get_active_route()
);
assert_eq!(app.get_current_route(), &left_block.clone().into());
assert_eq!(app.get_current_route(), &left_block.into());
MovieDetailsHandler::with(&DEFAULT_KEYBINDINGS.right.key, &mut app, &left_block).handle();
@@ -461,7 +449,7 @@ mod tests {
let mut app = App::default();
app.data.radarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveRadarrBlock::MovieDetails.into());
app.push_navigation_stack(prompt_block.clone().into());
app.push_navigation_stack(prompt_block.into());
MovieDetailsHandler::with(&SUBMIT_KEY, &mut app, &prompt_block).handle();
@@ -487,7 +475,7 @@ mod tests {
) {
let mut app = App::default();
app.push_navigation_stack(ActiveRadarrBlock::MovieDetails.into());
app.push_navigation_stack(prompt_block.clone().into());
app.push_navigation_stack(prompt_block.into());
MovieDetailsHandler::with(&SUBMIT_KEY, &mut app, &prompt_block).handle();
@@ -526,7 +514,7 @@ mod tests {
let mut app = App::default();
app.data.radarr_data = create_test_radarr_data();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(active_radarr_block.clone().into());
app.push_navigation_stack(active_radarr_block.into());
MovieDetailsHandler::with(&ESC_KEY, &mut app, &active_radarr_block).handle();
@@ -546,7 +534,7 @@ mod tests {
let mut app = App::default();
app.data.radarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(prompt_block.clone().into());
app.push_navigation_stack(prompt_block.into());
MovieDetailsHandler::with(&ESC_KEY, &mut app, &prompt_block).handle();