diff --git a/src/data/entities.rs b/src/data/entities.rs index 6c57a9a..4412064 100644 --- a/src/data/entities.rs +++ b/src/data/entities.rs @@ -228,7 +228,7 @@ impl EntityHandle { } pub fn from_id(id: Id) -> Self { - Self::new(id, id.0 as usize, false) + Self::new(id, id.0 as usize, true) } pub fn index(&self) -> usize { diff --git a/src/pages/repetitions.rs b/src/pages/repetitions.rs index 746e736..070d859 100644 --- a/src/pages/repetitions.rs +++ b/src/pages/repetitions.rs @@ -1,3 +1,4 @@ +use std::collections::BTreeMap; use crate::app::AppState; use crate::core::deck::DeckData; use crate::core::srs::{AppendMode, OrderMode}; @@ -32,7 +33,7 @@ use std::sync::Arc; #[derive(Clone)] pub struct RepetitionsState { selected_deck_handle: Option>, - decks: HashMap, DeckViewData>, + decks: BTreeMap, DeckViewData>, state: AppState, } @@ -70,7 +71,7 @@ impl NavigatedPage for RepetitionsState { None } else if let GoToSettings = message { Some(RepetitionSettings(RepetitionSettingsState::new( - EntityHandle::from_id(self.selected_deck().unwrap().id), + self.selected_deck_handle.unwrap(), self.state.clone(), ))) } else { @@ -245,7 +246,7 @@ impl RepetitionsState { } } - fn get_decks_from_state(state: &AppState) -> HashMap, DeckViewData> { + fn get_decks_from_state(state: &AppState) -> BTreeMap, DeckViewData> { state .decks .read() @@ -266,7 +267,7 @@ impl RepetitionsState { }, ) }) - .collect::>() + .collect::>() } }