From b7fcfe37923c7e1e560f233e6385da1d47bcd6e9 Mon Sep 17 00:00:00 2001 From: Florian Briand Date: Tue, 27 Aug 2024 10:55:17 +0200 Subject: [PATCH] refacto: move home code into a dedicated file and rename index to home everywhere --- crates/app/src/lib.rs | 14 +------------- crates/app/src/pages/{index.html => home.html} | 0 crates/app/src/pages/home.rs | 12 ++++++++++++ crates/app/src/pages/mod.rs | 5 ++++- 4 files changed, 17 insertions(+), 14 deletions(-) rename crates/app/src/pages/{index.html => home.html} (100%) create mode 100644 crates/app/src/pages/home.rs diff --git a/crates/app/src/lib.rs b/crates/app/src/lib.rs index 0c1b378..4abf2a1 100644 --- a/crates/app/src/lib.rs +++ b/crates/app/src/lib.rs @@ -1,8 +1,7 @@ use std::path::Path; -use askama_axum::Template; use axum::http::{StatusCode, Uri}; -use axum_htmx::{AutoVaryLayer, HxRequest}; +use axum_htmx::AutoVaryLayer; use tower_http::services::ServeDir; mod menu; @@ -12,20 +11,9 @@ async fn fallback(uri: Uri) -> (StatusCode, String) { (StatusCode::NOT_FOUND, format!("No route for {uri}")) } -#[derive(Template)] -#[template(path = "index.html")] -pub struct GetIndexTemplate { - hx_request: bool, -} - -async fn root(HxRequest(hx_request): HxRequest) -> GetIndexTemplate { - GetIndexTemplate { hx_request } -} - pub fn get_router(assets_path: &Path) -> axum::Router { axum::Router::new() .nest_service("/assets", ServeDir::new(assets_path)) - .route("/", axum::routing::get(root)) .merge(pages::get_routes()) .fallback(fallback) .layer(AutoVaryLayer) diff --git a/crates/app/src/pages/index.html b/crates/app/src/pages/home.html similarity index 100% rename from crates/app/src/pages/index.html rename to crates/app/src/pages/home.html diff --git a/crates/app/src/pages/home.rs b/crates/app/src/pages/home.rs new file mode 100644 index 0000000..150cf22 --- /dev/null +++ b/crates/app/src/pages/home.rs @@ -0,0 +1,12 @@ +use askama_axum::Template; +use axum_htmx::HxRequest; + +#[derive(Template)] +#[template(path = "home.html")] +pub struct GetHomeTemplate { + hx_request: bool, +} + +pub async fn home(HxRequest(hx_request): HxRequest) -> GetHomeTemplate { + GetHomeTemplate { hx_request } +} diff --git a/crates/app/src/pages/mod.rs b/crates/app/src/pages/mod.rs index 2c52f70..8ef7ac0 100644 --- a/crates/app/src/pages/mod.rs +++ b/crates/app/src/pages/mod.rs @@ -1,7 +1,10 @@ use axum::{routing, Router}; mod cps; +mod home; pub fn get_routes() -> Router { - Router::new().route("/cps", routing::get(cps::cps)) + Router::new() + .route("/", axum::routing::get(home::home)) + .route("/cps", routing::get(cps::cps)) }