39 lines
889 B
Rust
39 lines
889 B
Rust
use askama::Template;
|
|
use axum::{
|
|
debug_handler,
|
|
extract::{Extension, Query, State},
|
|
response::{Html, IntoResponse},
|
|
};
|
|
use serde::Deserialize;
|
|
|
|
use crate::{
|
|
app::{Context, Result},
|
|
data::db,
|
|
html_templates::*,
|
|
};
|
|
|
|
#[derive(Deserialize)]
|
|
pub struct CurrentRecipeId {
|
|
current_recipe_id: Option<i64>,
|
|
}
|
|
|
|
#[debug_handler]
|
|
pub async fn recipes_list_fragments(
|
|
State(connection): State<db::Connection>,
|
|
current_recipe: Query<CurrentRecipeId>,
|
|
Extension(context): Extension<Context>,
|
|
) -> Result<impl IntoResponse> {
|
|
Ok(Html(
|
|
RecipesListFragmentTemplate {
|
|
recipes: Recipes::new(
|
|
connection,
|
|
&context.user,
|
|
context.tr.current_lang_code(),
|
|
current_recipe.current_recipe_id,
|
|
)
|
|
.await?,
|
|
context,
|
|
}
|
|
.render()?,
|
|
))
|
|
}
|