diff options
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/card.rs | 8 | ||||
| -rw-r--r-- | src/model/deck.rs | 5 | ||||
| -rw-r--r-- | src/model/difficulty.rs | 16 | ||||
| -rw-r--r-- | src/model/mod.rs | 3 | 
4 files changed, 32 insertions, 0 deletions
| diff --git a/src/model/card.rs b/src/model/card.rs new file mode 100644 index 0000000..3ac395e --- /dev/null +++ b/src/model/card.rs @@ -0,0 +1,8 @@ +use crate::space_repetition; + +#[derive(Debug)] +pub struct Card { +    pub question: String, +    pub responses: Vec<String>, +    pub state: space_repetition::State, +} diff --git a/src/model/deck.rs b/src/model/deck.rs new file mode 100644 index 0000000..769b38c --- /dev/null +++ b/src/model/deck.rs @@ -0,0 +1,5 @@ +#[derive(Debug, Clone)] +pub struct Entry { +    pub part_1: Vec<String>, +    pub part_2: Vec<String>, +} diff --git a/src/model/difficulty.rs b/src/model/difficulty.rs new file mode 100644 index 0000000..ea5a9ce --- /dev/null +++ b/src/model/difficulty.rs @@ -0,0 +1,16 @@ +#[derive(Debug, Clone, Copy, PartialEq)] +pub enum Difficulty { +    Again, +    Hard, +    Good, +    Easy, +} + +pub fn label(difficulty: Difficulty) -> String { +    match difficulty { +        Difficulty::Again => "Recommencer".to_string(), +        Difficulty::Hard => "Difficile".to_string(), +        Difficulty::Good => "Bon".to_string(), +        Difficulty::Easy => "Facile".to_string(), +    } +} diff --git a/src/model/mod.rs b/src/model/mod.rs new file mode 100644 index 0000000..bbd7891 --- /dev/null +++ b/src/model/mod.rs @@ -0,0 +1,3 @@ +pub mod card; +pub mod deck; +pub mod difficulty; | 
