i18n+filtering fork - fluent-templates v2
at main 37 lines 960 B view raw
1use anyhow::Result; 2use axum::response::IntoResponse; 3 4use crate::{ 5 create_renderer, 6 http::{ 7 context::{admin_template_context, AdminRequestContext}, 8 errors::WebError, 9 }, 10}; 11 12pub async fn handle_admin_index( 13 admin_ctx: AdminRequestContext, 14) -> Result<impl IntoResponse, WebError> { 15 // User is already verified as admin by the extractor 16 let canonical_url = format!( 17 "https://{}/admin", 18 admin_ctx.web_context.config.external_base 19 ); 20 21 // Create renderer for admin context (admin pages don't use HTMX typically) 22 let renderer = create_renderer!( 23 admin_ctx.web_context.clone(), 24 admin_ctx.language.clone(), 25 false, // hx_boosted 26 false // hx_request 27 ); 28 29 let context = admin_template_context(&admin_ctx, &canonical_url); 30 31 Ok(renderer.render_template( 32 "admin", 33 context, 34 Some(&admin_ctx.admin_handle), 35 &canonical_url, 36 )) 37}