You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
using Models;
|
|
|
|
namespace ShoopNCook.Views
|
|
{
|
|
public partial class RecipeView : ContentView
|
|
{
|
|
private readonly Action callback;
|
|
public RecipeInfo Info { get; private init; }
|
|
|
|
public RecipeView(RecipeInfo info, Action callback)
|
|
{
|
|
this.callback = callback;
|
|
Info = info;
|
|
BindingContext = info;
|
|
InitializeComponent();
|
|
Note = info.AverageNote;
|
|
}
|
|
|
|
public float Note
|
|
{
|
|
set => SetNote(value);
|
|
}
|
|
|
|
|
|
private void SetNote(float note)
|
|
{
|
|
note = (uint)note; //truncate integer as we currently do not handle semi stars
|
|
foreach (Image img in Stars.Children.Reverse())
|
|
{
|
|
if (note > 0)
|
|
{
|
|
img.Opacity = 1;
|
|
note--;
|
|
}
|
|
else img.Opacity = 0;
|
|
}
|
|
}
|
|
|
|
private void OnRecipeTapped(object sender, EventArgs e)
|
|
{
|
|
callback();
|
|
}
|
|
}
|
|
}
|