diff options
-rw-r--r-- | src/gui/question.rs | 11 | ||||
-rw-r--r-- | src/model/difficulty.rs | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/gui/question.rs b/src/gui/question.rs index 1c44272..c07b5f4 100644 --- a/src/gui/question.rs +++ b/src/gui/question.rs @@ -182,14 +182,17 @@ pub fn ask<B: Backend>(terminal: &mut Terminal<B>, title: &str, card: &Card) -> difficulty: selected, } => match key.code { KeyCode::Left => { - for d in relative_element(&card.state.difficulties(), &selected, -1).iter() + if let Some(difficulty) = + relative_element(&card.state.difficulties(), &selected, -1) { - state.answer = Answer::Difficulty { difficulty: *d } + state.answer = Answer::Difficulty { difficulty } } } KeyCode::Right => { - for d in relative_element(&card.state.difficulties(), &selected, 1).iter() { - state.answer = Answer::Difficulty { difficulty: *d } + if let Some(difficulty) = + relative_element(&card.state.difficulties(), &selected, 1) + { + state.answer = Answer::Difficulty { difficulty } } } KeyCode::Enter => { diff --git a/src/model/difficulty.rs b/src/model/difficulty.rs index ea5a9ce..727ce4b 100644 --- a/src/model/difficulty.rs +++ b/src/model/difficulty.rs @@ -1,4 +1,4 @@ -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Difficulty { Again, Hard, |