diff --git a/api/src/lib.rs b/api/src/lib.rs index b0bd6c1..30fdfc9 100644 --- a/api/src/lib.rs +++ b/api/src/lib.rs @@ -129,3 +129,8 @@ pub struct AddRecipeIngredientRequest { pub struct RecipeEditStepsRequest { pub steps: String } + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct RecipeEditRating { + pub rating: u8, +} diff --git a/app/src/recipe.rs b/app/src/recipe.rs index b6e9478..5d161e5 100644 --- a/app/src/recipe.rs +++ b/app/src/recipe.rs @@ -1,6 +1,6 @@ use api::{ - AddRecipeIngredientRequest, IngredientInfo, RecipeEditStepsRequest, RecipeInfo, - RecipeIngredientEditRequest, RecipeRenameRequest, + AddRecipeIngredientRequest, IngredientInfo, RecipeEditRating, RecipeEditStepsRequest, + RecipeInfo, RecipeIngredientEditRequest, RecipeRenameRequest, }; use itertools::Itertools; use uuid::Uuid; @@ -19,6 +19,21 @@ use crate::{ RegaladeGlobalState, Route, }; +#[derive(Debug, Clone, PartialEq, Properties)] +struct RecipeRatingProps { + rating: u8, +} + +#[function_component] +fn RecipeRating(props: &RecipeRatingProps) -> Html { + let rating = (props.rating + 1).min(3); + html! { +
+ { for (0..rating).map(|_| html!{