remove cookie flash-messages; simply show uuid
This commit is contained in:
101
src/page.rs
101
src/page.rs
@@ -1,52 +1,27 @@
|
||||
use crate::Language;
|
||||
use axum_messages::Messages;
|
||||
use maud::{DOCTYPE, Markup, html};
|
||||
use maud::{html, Markup, DOCTYPE};
|
||||
|
||||
pub(crate) struct Page {
|
||||
lang: Language,
|
||||
found_camera: Option<(String, i64)>,
|
||||
new_name: bool,
|
||||
err: Option<(String, String, String)>,
|
||||
message: Option<MyMessage>,
|
||||
}
|
||||
|
||||
pub(crate) enum MyMessage {
|
||||
NameChanged,
|
||||
FoundCam(String, i64),
|
||||
Error(String, String, String),
|
||||
}
|
||||
|
||||
impl Page {
|
||||
pub fn new(lang: Language) -> Self {
|
||||
Self {
|
||||
lang,
|
||||
found_camera: None,
|
||||
new_name: false,
|
||||
err: None,
|
||||
message: None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn messages(&mut self, messages: Messages) {
|
||||
for message in messages {
|
||||
let text = &message.to_string()[..];
|
||||
match (message.level, text) {
|
||||
(_, "set-name-succ") => {
|
||||
self.new_name = true;
|
||||
}
|
||||
(_, msg) if msg.starts_with("found-cam|") => {
|
||||
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, '|');
|
||||
let _ = parts.next().expect("just checked |");
|
||||
if let (Some(title), Some(body), Some(footer)) =
|
||||
(parts.next(), parts.next(), parts.next())
|
||||
{
|
||||
self.err = Some((title.into(), body.into(), footer.into()));
|
||||
}
|
||||
}
|
||||
(_, _) => {}
|
||||
}
|
||||
}
|
||||
pub(crate) fn set_message(&mut self, message: MyMessage) {
|
||||
self.message = Some(message);
|
||||
}
|
||||
|
||||
pub fn content(self, content: Markup) -> Markup {
|
||||
@@ -92,35 +67,39 @@ impl Page {
|
||||
}
|
||||
|
||||
main.container {
|
||||
@if let Some(found_camera) = &self.found_camera {
|
||||
div.flex {
|
||||
article class="succ msg" {
|
||||
header { (t!("found_camera_title", name = found_camera.0)) }
|
||||
(t!("found_camera_body", amount = found_camera.1))
|
||||
footer {
|
||||
a href="#ranking" { (t!("see_ranking")) }
|
||||
@if let Some(message) = &self.message {
|
||||
@match message {
|
||||
MyMessage::FoundCam(name, amount) => {
|
||||
div.flex {
|
||||
article class="succ msg" {
|
||||
header { (t!("found_camera_title", name = name)) }
|
||||
(t!("found_camera_body", amount = amount))
|
||||
footer {
|
||||
a href="#ranking" { (t!("see_ranking")) }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
MyMessage::NameChanged => {
|
||||
div.flex {
|
||||
article class="name msg" {
|
||||
header { (t!("new_name_title")) }
|
||||
(t!("new_name_message"))
|
||||
}
|
||||
}
|
||||
},
|
||||
MyMessage::Error(header, body, footer) => {
|
||||
div.flex {
|
||||
article class="error msg" {
|
||||
header { (header) }
|
||||
(body)
|
||||
footer { (footer) }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@if self.new_name {
|
||||
div.flex {
|
||||
article class="name msg" {
|
||||
header { (t!("new_name_title")) }
|
||||
(t!("new_name_message"))
|
||||
}
|
||||
}
|
||||
}
|
||||
@if let Some(err) = &self.err {
|
||||
div.flex {
|
||||
article class="error msg" {
|
||||
header { (err.0) }
|
||||
(err.1)
|
||||
footer { (err.2) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
section { (content) }
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user