use axum::{extract::State, response::Html}; use axum_session_auth::AuthSession; use axum_session_surreal::SessionSurrealPool; use surrealdb::{engine::any::Any, Surreal}; use tracing::info; use crate::{ error::ApiError, page_data, server::{routes::html::render_template, AppState}, storage::types::user::User, }; page_data!(IndexData, "index.html", { queue_length: u32, }); pub async fn index_handler( State(state): State, auth: AuthSession, Surreal>, ) -> Result, ApiError> { info!("Displaying index page"); info!("{:?}", auth.current_user); let queue_length = state.rabbitmq_consumer.get_queue_length().await?; let data = IndexData { queue_length }; let output = render_template(IndexData::template_name(), data, state.templates)?; Ok(output) }