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.

46 lines
1.6 KiB

1 year ago
using FlyoutTabSearch.Data;
namespace FlyoutTabSearch.Pages;
public partial class MoonPhasePage : ContentPage
{
public MoonPhasePage()
{
InitializeComponent();
InitializeUI();
}
private void InitializeUI()
{
var phase = MoonPhaseCalculator.GetPhase(DateTime.Now);
lblDate.Text = DateTime.Today.ToString("D");
lblMoonPhaseIcon.Text = moonPhaseEmojis[phase];
lblMoonPhaseText.Text = phase.ToString();
SetMoonPhaseLabels(lblPhaseIcon1, lblPhaseText1, 1);
SetMoonPhaseLabels(lblPhaseIcon2, lblPhaseText2, 2);
SetMoonPhaseLabels(lblPhaseIcon3, lblPhaseText3, 3);
SetMoonPhaseLabels(lblPhaseIcon4, lblPhaseText4, 4);
}
private void SetMoonPhaseLabels(Label lblIcon, Label lblText, int dayOffset)
{
var phase = MoonPhaseCalculator.GetPhase(DateTime.Now.AddDays(dayOffset));
lblIcon.Text = moonPhaseEmojis[phase];
lblText.Text = DateTime.Now.AddDays(dayOffset).DayOfWeek.ToString();
}
private static Dictionary<MoonPhaseCalculator.Phase, string> moonPhaseEmojis = new Dictionary<MoonPhaseCalculator.Phase, string>
{
{ MoonPhaseCalculator.Phase.New, "🌑" },
{ MoonPhaseCalculator.Phase.WaxingCrescent, "🌒" },
{ MoonPhaseCalculator.Phase.FirstQuarter, "🌓" },
{ MoonPhaseCalculator.Phase.WaxingGibbous, "🌔" },
{ MoonPhaseCalculator.Phase.Full, "🌕" },
{ MoonPhaseCalculator.Phase.WaningGibbous, "🌖" },
{ MoonPhaseCalculator.Phase.LastQuarter, "🌗" },
{ MoonPhaseCalculator.Phase.WaningCrescent, "🌘" },
};
}