use anyhow::Result; use axum::response::IntoResponse; use crate::{ create_renderer, http::{ context::{admin_template_context, AdminRequestContext}, errors::WebError, }, }; pub async fn handle_admin_index( admin_ctx: AdminRequestContext, ) -> Result { // User is already verified as admin by the extractor let canonical_url = format!( "https://{}/admin", admin_ctx.web_context.config.external_base ); // Create renderer for admin context (admin pages don't use HTMX typically) let renderer = create_renderer!( admin_ctx.web_context.clone(), admin_ctx.language.clone(), false, // hx_boosted false // hx_request ); let context = admin_template_context(&admin_ctx, &canonical_url); Ok(renderer.render_template( "admin", context, Some(&admin_ctx.admin_handle), &canonical_url, )) }