use axum::{extract::State, response::Html};
use serde_json::json;
use tera::Context;
use tracing::info;
use crate::{error::ApiError, server::AppState};
pub async fn index_handler(State(state): State) -> Result, ApiError> {
info!("Displaying index page");
let queue_length = state.rabbitmq_consumer.queue.message_count();
let output = state
.tera
.render(
"index.html",
&Context::from_value(json!({"adjective": "CRAYCRAY", "queue_length": queue_length}))
.unwrap(),
)
.unwrap();
Ok(output.into())
}