diff --git a/Cargo.lock b/Cargo.lock index 5409618..81e5552 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1405,7 +1405,6 @@ name = "flashcards" version = "0.1.0" dependencies = [ "dioxus", - "futures", "rand 0.9.1", "serde", "tokio", diff --git a/Cargo.toml b/Cargo.toml index f39af18..dc4bc97 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,6 @@ dioxus = { version = "0.6.3", features = [] } toml = { version = "0.8" } serde = { version = "1.0", features = ["derive"] } rand = { version = "0.9" } -futures = { version = "0.3" } tokio = { version = "1.45" } [features] diff --git a/assets/main.css b/assets/main.css index 798d431..c5cf270 100644 --- a/assets/main.css +++ b/assets/main.css @@ -5,9 +5,6 @@ --selection: goldenrod; } -html { -} - body { background-color: #0f1116; color: #ffffff; @@ -31,6 +28,7 @@ body { color: var(--correct); text-shadow: var(--correct-shadow) 1px 1px 30px; opacity: 0; + user-select: none; &.visible { display: block; diff --git a/src/main.rs b/src/main.rs index 4914cc3..c85acc8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,6 @@ use dioxus::{ desktop::{Config, LogicalSize, WindowBuilder}, prelude::*, }; -use futures::StreamExt; use models::{Question, Questions}; use rand::seq::SliceRandom; @@ -68,12 +67,19 @@ pub fn QuestionForm() -> Element { .count() }); let actual_correct = use_memo(move || { - current - .read() + let current_lock = current.read(); + let incorrectly_checked = current_lock + .answers + .iter() + .filter(|a| !a.is_correct.unwrap_or_default() && a.checked) + .count(); + let correctly_checked = current_lock .answers .iter() .filter(|a| a.is_correct.unwrap_or_default() && a.checked) - .count() + .count(); + + correctly_checked.saturating_sub(incorrectly_checked) }); let total_questions = QUESTIONS.len();