use maud::html; use reqwest::StatusCode; use servable::{HtmlPage, PageMetadata}; use service_assets::assets::{CSS_FIRA, CSS_FONTAWESOME}; use std::sync::LazyLock; mod index; pub use index::INDEX; use crate::{ASSET_PREFIX, PILE_PREFIX, routes::CSS_PILE}; pub static NOT_FOUND: LazyLock = LazyLock::new(|| { HtmlPage::default() .with_style_linked(CSS_PILE.route_at(PILE_PREFIX)) .with_style_linked(CSS_FIRA.route_at(ASSET_PREFIX)) .with_style_linked(CSS_FONTAWESOME.route_at(ASSET_PREFIX)) .with_meta(PageMetadata { title: "Page not found".into(), author: None, description: None, image: None, }) .with_render(move |_page, _ctx| { Box::pin(async { html! { div class="wrapper" { div style="display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh" { p style="font-weight:bold;font-size:50pt;margin:0;" { "404" } p style="font-size:13pt;margin:0;color:var(--grey);" { "(page not found)" } a style="font-size:12pt;margin:10pt;padding:5px;" href="/" {"<- Back to site"} } } } }) }) .with_code(StatusCode::NOT_FOUND) });