using Models; namespace ShoopNCook.Views; public partial class OwnedRecipeView : ContentView { private readonly Action clickCallback; private readonly Action removeCallback; private readonly RecipeInfo recipeInfo; public OwnedRecipeView(RecipeInfo info, Action onClickCallback, Action onRemoveCallback) { InitializeComponent(); RecipeImage.Source = ImageSource.FromUri(info.Image); Note = info.AverageNote; Title = info.Name; this.recipeInfo = info; this.clickCallback = onClickCallback; this.removeCallback = onRemoveCallback; } public bool IsViewing(RecipeInfo info) { return recipeInfo == info; } public float Note { set => SetNote(value); } public string Title { set => TitleLabel.Text = value; } private void SetNote(float note) { int i = 1; foreach (Image img in Stars.Children) { if (i < note) { img.Opacity = 0; i++; } else img.Opacity = 1; } } private void OnViewTapped(object sender, TappedEventArgs e) { clickCallback(); } private void OnRemoveButtonTapped(object sender, TappedEventArgs e) { removeCallback(); } }