using ShoopNCook.Pages; using Models; namespace ShoopNCook.Views; public partial class RecipeView : ContentView { private readonly Action callback; public RecipeView(RecipeInfo info, Action onClickCallback) { InitializeComponent(); Note = info.AverageNote; Title = info.Name; Subtitle = info.CookTimeMins + " min"; RecipeImage.Source = ImageSource.FromUri(info.Image); callback = onClickCallback; } public float Note { set => SetNote(value); } public string Title { set => TitleLabel.Text = value; } public string Subtitle { set => SubtitleLabel.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 OnRecipeTapped(object sender, EventArgs e) { callback(); } }