diff options
| author | mo8it <mo8it@proton.me> | 2024-04-07 04:36:27 +0200 |
|---|---|---|
| committer | mo8it <mo8it@proton.me> | 2024-04-07 04:36:27 +0200 |
| commit | e640b4a1ffec82cba6b34c0bd222f4ab65502daa (patch) | |
| tree | b543d172773e8b1005dbabb113462d20540aa304 /src/state.rs | |
| parent | 7f5a18fa3478596c3c1dbdc7eb92da99b0945886 (diff) | |
Add "Next" column
Diffstat (limited to 'src/state.rs')
| -rw-r--r-- | src/state.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/state.rs b/src/state.rs index 60f6a37..f29dc13 100644 --- a/src/state.rs +++ b/src/state.rs @@ -6,6 +6,7 @@ use crate::exercise::Exercise; #[derive(Serialize, Deserialize)] pub struct State { + pub next_exercise_ind: usize, pub progress: Vec<bool>, } @@ -15,7 +16,7 @@ impl State { let slf: Self = serde_json::de::from_slice(&file_content).ok()?; - if slf.progress.len() != exercises.len() { + if slf.progress.len() != exercises.len() || slf.next_exercise_ind >= exercises.len() { return None; } @@ -24,6 +25,7 @@ impl State { pub fn read_or_default(exercises: &[Exercise]) -> Self { Self::read(exercises).unwrap_or_else(|| Self { + next_exercise_ind: 0, progress: vec![false; exercises.len()], }) } |
