i18n+filtering fork - fluent-templates v2
at main 33 lines 927 B view raw
1use anyhow::Result; 2use axum::{extract::State, response::IntoResponse}; 3use axum_extra::extract::Cached; 4use axum_htmx::HxBoosted; 5 6use crate::{ 7 create_renderer, 8 http::{ 9 context::WebContext, 10 errors::WebError, 11 middleware_auth::Auth, 12 middleware_i18n::Language, 13 }, 14}; 15 16pub async fn handle_view_feed( 17 State(web_context): State<WebContext>, 18 HxBoosted(hx_boosted): HxBoosted, 19 Language(language): Language, 20 Cached(auth): Cached<Auth>, 21) -> Result<impl IntoResponse, WebError> { 22 // Create the template renderer with enhanced context 23 let renderer = create_renderer!(web_context, Language(language), hx_boosted, false); 24 25 let canonical_url = format!("https://{}/", renderer.web_context.config.external_base); 26 27 Ok(renderer.render_template( 28 "index", 29 minijinja::Value::UNDEFINED, 30 auth.0.as_ref(), 31 &canonical_url, 32 )) 33}