stationslauf/src/partials.rs
Philipp Hofer a601507435
All checks were successful
CI/CD Pipeline / test (push) Successful in 2m53s
CI/CD Pipeline / deploy (push) Successful in 2m20s
show stations their location; Fixes #17
2025-04-11 22:33:10 +02:00

55 lines
1.7 KiB
Rust

use maud::{DOCTYPE, Markup, html};
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 class="container" {
@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)
}
}
}
}