use crate::components::header::{Header, HeaderLink}; use axum::http::StatusCode; use cached::proc_macro::cached; use maud::{html, Markup, PreEscaped}; #[cached] pub async fn render() -> (StatusCode, Markup) { ( StatusCode::NOT_FOUND, html! { title {"404 | Voltpad"}; meta name="viewport" content="width=device-width, initial-scale=1.0"; style {(PreEscaped( grass::include!("./css/index.scss") ))} ( Header(vec![ HeaderLink { name: "Home".to_string(), path: "/".to_string(), prefix: None, postfix: None }, HeaderLink { name: "Search".to_string(), path: "/search".to_string(), prefix: None, postfix: None }, HeaderLink { name: "History".to_string(), path: "/history".to_string(), prefix: None, postfix: None }, HeaderLink { name: "About".to_string(), path: "/about".to_string(), prefix: None, postfix: None }, ], "/404".to_string()) ) div .not-found-page { img src="https://media.ruthenic.com/cat404.png"; } }, ) }