show ranking for each camera on sighting

This commit is contained in:
2025-08-06 09:03:50 +02:00
parent 16982d2c0d
commit 2ff7a2c7a9
5 changed files with 38 additions and 21 deletions

View File

@@ -6,7 +6,7 @@ use maud::{html, Markup, DOCTYPE};
pub(crate) struct Page {
lang: Language,
found_camera: Option<String>,
found_camera: Option<(String, i64)>,
new_name: bool,
err: Option<(String, String, String)>,
}
@@ -29,8 +29,13 @@ impl Page {
self.new_name = true;
}
(_, msg) if msg.starts_with("found-cam|") => {
let (_, name) = msg.split_once('|').expect("we just checked |");
self.found_camera = Some(name.into());
let mut parts = msg.splitn(3, '|');
let _ = parts.next().expect("just checked |");
if let (Some(name), Some(amount)) = (parts.next(), parts.next()) {
if let Ok(amount) = amount.parse::<i64>() {
self.found_camera = Some((name.into(), amount));
}
}
}
(_, msg) if msg.starts_with("err|") => {
let mut parts = msg.splitn(4, '|');
@@ -96,11 +101,9 @@ impl Page {
main.container {
@if let Some(found_camera) = &self.found_camera {
article class="succ w-full" {
header { (t!("found_camera_title", name = found_camera)) }
(t!("found_camera_body"))
" "
a href="#ranking" { "See your ranking" }
footer { (found_camera) }
header { (t!("found_camera_title", name = found_camera.0)) }
(t!("found_camera_body", amount = found_camera.1))
footer { a href="#ranking" { "See your ranking" } }
}
}
@if self.new_name {