little-hesinde/cops-web/src/handlers/recents.rs

23 lines
538 B
Rust
Raw Normal View History

2024-05-02 16:10:29 +00:00
use std::sync::Arc;
use poem::{
error::InternalServerError,
handler,
web::{Data, Html},
};
use tera::Context;
use crate::{app_state::AppState, templates::TEMPLATES};
#[handler]
pub async fn handler(state: Data<&Arc<AppState>>) -> Result<Html<String>, poem::Error> {
let recent_books = state.calibre.recent_books(50).unwrap();
let mut context = Context::new();
context.insert("books", &recent_books);
TEMPLATES
.render("recents", &context)
.map_err(InternalServerError)
.map(Html)
}