diff --git a/src/app/mod.rs b/src/app/mod.rs index 25f984e..18f6c83 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -36,7 +36,15 @@ async fn location_via_id(db: &State, id: String) -> Result return Err("Sorry, that location seems invalid!".to_string()), }; - Ok(Template::render("location", context! { location })) + let all_map_names = match Location::get_all_map_names(db).await { + Ok(all_map_names) => all_map_names, + Err(_) => vec![], + }; + + Ok(Template::render( + "location", + context! { location, all_map_names }, + )) } #[get("/location/?")] @@ -57,9 +65,14 @@ async fn location_guess_via_id( let is_guess_correct = guess == location.map; let guess_with_results = Guess::create(guess, is_guess_correct); + let all_map_names = match Location::get_all_map_names(db).await { + Ok(all_map_names) => all_map_names, + Err(_) => vec![], + }; + Ok(Template::render( "location", - context! { location, guess: guess_with_results }, + context! { location, guess: guess_with_results, all_map_names }, )) } diff --git a/static/ddguesser.css b/static/ddguesser.css index 8c01fb5..a22e694 100644 --- a/static/ddguesser.css +++ b/static/ddguesser.css @@ -40,6 +40,11 @@ a#start-game { margin: 0 auto; } +a#new-game { + margin: 2rem auto; + width: fit-content; +} + form { width: 100%; display: flex; diff --git a/templates/location.html.tera b/templates/location.html.tera index bd5fffd..4c86759 100644 --- a/templates/location.html.tera +++ b/templates/location.html.tera @@ -14,7 +14,15 @@ {% endif %}
- + + + {% for map_name in all_map_names %} + + {% endfor %} +
+{% if guess %} +New location! +{% endif %} {% endblock main %} \ No newline at end of file