55 lines
1.7 KiB
Rust
55 lines
1.7 KiB
Rust
use maud::{html, Markup, DOCTYPE};
|
|
use tower_sessions::Session;
|
|
|
|
pub(crate) async fn page(content: Markup, session: Session, leaflet: bool) -> Markup {
|
|
// Get and clear flash message
|
|
let succ_msg = session.get::<String>("succ").await.unwrap_or(None);
|
|
if succ_msg.is_some() {
|
|
session.remove::<String>("succ").await.unwrap();
|
|
}
|
|
let warn_msg = session.get::<String>("warn").await.unwrap_or(None);
|
|
if warn_msg.is_some() {
|
|
session.remove::<String>("warn").await.unwrap();
|
|
}
|
|
let err_msg = session.get::<String>("err").await.unwrap_or(None);
|
|
if err_msg.is_some() {
|
|
session.remove::<String>("err").await.unwrap();
|
|
}
|
|
|
|
html! {
|
|
(DOCTYPE)
|
|
head {
|
|
meta charset="utf-8";
|
|
meta name="viewport" content="width=device-width, initial-scale=1.0"
|
|
link rel="stylesheet" href="/pico.css";
|
|
link rel="stylesheet" href="/style.css";
|
|
@if leaflet {
|
|
link rel="stylesheet" href="/leaflet.css";
|
|
}
|
|
}
|
|
body {
|
|
main {
|
|
@if let Some(message) = err_msg {
|
|
article class="error" {
|
|
(message)
|
|
}
|
|
}
|
|
@if let Some(message) = warn_msg {
|
|
article class="warning" {
|
|
(message)
|
|
}
|
|
}
|
|
@if let Some(message) = succ_msg {
|
|
article class="succ" {
|
|
(message)
|
|
}
|
|
}
|
|
@if leaflet {
|
|
script src="/leaflet.js" {};
|
|
}
|
|
(content)
|
|
}
|
|
}
|
|
}
|
|
}
|