From 7bb2bef28d90ebc58da86a0365a1904a0c32dffe Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:38:41 +0000 Subject: [PATCH] refactor: statefulList next/previous --- src/app_data/container_state.rs | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/app_data/container_state.rs b/src/app_data/container_state.rs index b9b22b5..246caca 100644 --- a/src/app_data/container_state.rs +++ b/src/app_data/container_state.rs @@ -172,27 +172,25 @@ impl StatefulList { pub fn next(&mut self) { if !self.items.is_empty() { - let i = match self.state.selected() { - Some(i) => { - if i < self.items.len() - 1 { - i + 1 - } else { - i - } + self.state.select(Some(self.state.selected().map_or(0, |i| { + if i < self.items.len() - 1 { + i + 1 + } else { + i } - None => 0, - }; - self.state.select(Some(i)); + }))); } } pub fn previous(&mut self) { if !self.items.is_empty() { - let i = self - .state - .selected() - .map_or(0, |i| if i == 0 { 0 } else { i - 1 }); - self.state.select(Some(i)); + self.state.select(Some(self.state.selected().map_or(0, |i| { + if i == 0 { + 0 + } else { + i - 1 + } + }))); } }