Display the user's grade
This commit is contained in:
parent
0df7e57de0
commit
cfe14a3188
|
@ -217,19 +217,40 @@ fn end_game_component(props: Props) -> View<G> {
|
||||||
let mode = props.mode;
|
let mode = props.mode;
|
||||||
let errors = props.errors;
|
let errors = props.errors;
|
||||||
|
|
||||||
|
let (failed, grade) = cloned!(errors => {
|
||||||
|
let num_errors = (*errors.get()) as f64;
|
||||||
|
|
||||||
|
let mut percentage = num_errors / 6f64;
|
||||||
|
percentage *= 100f64;
|
||||||
|
|
||||||
|
(percentage > 70f64, format!("{:.2}%", 100f64 - percentage))
|
||||||
|
});
|
||||||
|
|
||||||
let restart = cloned!((mode, errors) => move |_| {
|
let restart = cloned!((mode, errors) => move |_| {
|
||||||
errors.set(0);
|
errors.set(0);
|
||||||
mode.set(AppMode::Quiz);
|
mode.set(AppMode::Quiz);
|
||||||
});
|
});
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
p(class="text-align-center") { "Game over! Here's how you did:" }
|
(if failed {
|
||||||
|
view! {
|
||||||
|
p(class="text-align-center") { "Sorry, you failed. Better luck next time! Here's how you did:" }
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
view! {
|
||||||
|
p(class="text-align-center") { "Great job, you passed! Here's how you did:" }
|
||||||
|
}
|
||||||
|
})
|
||||||
br
|
br
|
||||||
div(class="text-align-center") {
|
div(class="text-align-center") {
|
||||||
div(class="card text-align-center inline", style="color: red") {
|
div(class="card text-align-center inline", style="color: red") {
|
||||||
p {"Errors:"}
|
p {"Errors:"}
|
||||||
p { (errors.get()) }
|
p { (errors.get()) }
|
||||||
}
|
}
|
||||||
|
div(class="card text-align-center inline") {
|
||||||
|
p {"Grade:"}
|
||||||
|
p { (grade) }
|
||||||
|
}
|
||||||
br
|
br
|
||||||
button(on:click=restart) { "Restart" }
|
button(on:click=restart) { "Restart" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,4 +25,8 @@
|
||||||
|
|
||||||
.inline {
|
.inline {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card + .card {
|
||||||
|
margin-left: .75rem;
|
||||||
}
|
}
|
Loading…
Reference in a new issue