@page "/pvgen" @using InverterMon.Shared.Models @inject HttpClient Http PV Generation For Day
@if(day == null) { } else {

@day.DayName

Total Generation: @day.TotalKiloWattHours kWh

}
@code{ private PVDay? day; private AreaConfig aConf = new() { Padding = "auto", AutoFit = true, XField = "Time", YField = "Watts", Smooth = false, Line = new() { Size = 1, Color = "#5598d7" }, AreaStyle = new() { Fill = "l(270) 0:#ffffff 0.5:#7ec2f3 1:#1890ff", } }; protected override async Task OnInitializedAsync() { await FetchForDay(); } private async Task FetchForDay(int? dayNumber = null) { try { day = await Http.GetFromJsonAsync($"api/pv-log/get-pv-for-day/{dayNumber ?? DateOnly.FromDateTime(DateTime.Now).DayNumber}"); aConf.XAxis = new() { Range = day?.GraphRange, TickCount = day?.GraphTickCount }; //StateHasChanged(); } catch (Exception) { //ignore } } private async Task GetNextDay() { var dayNum = this.day?.DayNumber+1; day = null; await FetchForDay(dayNum); if (day is null) await FetchForDay(dayNum - 1); StateHasChanged(); } private async Task GetPrevDay() { var dayNum = this.day?.DayNumber-1; day = null; await FetchForDay(dayNum); if (day is null) await FetchForDay(dayNum + 1); StateHasChanged(); } }