use actix_web::{get, web::Data, HttpRequest, HttpResponse}; use askama::Template; use super::{tcx::TemplateCtx, template_response}; use crate::{ctx::Ctx, db::models::NewsPost, error::NekrochanError, filters}; #[derive(Template)] #[template(path = "news.html")] struct NewsTemplate { tcx: TemplateCtx, news: Vec, } #[get("/news")] pub async fn news(ctx: Data, req: HttpRequest) -> Result { let tcx = TemplateCtx::new(&ctx, &req).await?; let news = NewsPost::read_all(&ctx).await?; let template = NewsTemplate { tcx, news }; template_response(&template) }