use axum::response::IntoResponse; use maud::{html, Markup, DOCTYPE}; use crate::error::AppError; pub async fn home() -> Result { Ok(html!({ (head("Home")) body class="bg-[#eae3d2] text-[#333] dark:bg-[#333] dark:text-[#eae3d2] font-mono text-base tracking-wide" { (header_with_navbar()) } })) } fn header_with_navbar() -> Markup { html!({ header { navbar class="p-3 text-sm flex flex-row flex-wrap content-center justify-around decoration-purple-500 shadow" { a class="hover:underline" href="/" { "Home" } a class="hover:underline" href="/" { "Stories" } a class="hover:underline" href="/" { "Tools" } a class="hover:underline" href="/" { "Games" } } } }) } fn head(page_title: &str) -> Markup { html! { head { (DOCTYPE) meta charset="utf-8"; link rel="stylesheet" type="text/css" href="/static/styles.css"; title { (page_title) } } } }