@page "/Calendar"
@using salesbook.Shared.Core.Dto
@using salesbook.Shared.Core.Interface
@using salesbook.Shared.Components.SingleElements
@using salesbook.Shared.Components.Layout.Spinner
@using salesbook.Shared.Components.SingleElements.BottomSheet
@using salesbook.Shared.Core.Messages.Activity.New
@inject IManageDataService ManageData
@inject IJSRuntime JS
@inject NewActivityService NewActivity
@inject IPageTitleService PageTitleService
@* *@
@if (Expanded)
{
@foreach (var nomeGiorno in GiorniSettimana)
{
}
@foreach (var unused in Enumerable.Range(0, StartOffset))
{
}
@if (_isInitialized && _monthDaysData.Length > 0)
{
@for (var d = 1; d <= DaysInMonth; d++)
{
var day = new DateTime(CurrentMonth.Year, CurrentMonth.Month, d);
var dayData = _monthDaysData[d - 1];
SelezionaDataDalMese(day)">
@d
@if (dayData.HasEvents)
{
@foreach (var cat in dayData.EventCategories)
{
}
}
}
}
else
{
@* Fallback rendering per prima inizializzazione *@
@for (var d = 1; d <= DaysInMonth; d++)
{
var day = new DateTime(CurrentMonth.Year, CurrentMonth.Month, d);
var isSelected = IsSameDay(day, SelectedDate);
var isToday = IsSameDay(day, DateTime.Today);
var events = GetEventsForDay(day);
SelezionaDataDalMese(day)">
@d
@if (events.Any())
{
@foreach (var cat in events.Select(x => x.Category).Distinct())
{
}
}
}
}
@foreach (var unused in Enumerable.Range(0, EndOffset))
{
}
}
else
{
@if (_isInitialized && _weekDaysData.Length == 7 && _weekDaysData[0].Date != default)
{
@for (int i = 0; i < 7; i++)
{
var dayData = _weekDaysData[i];
var day = dayData.Date;
@dayData.DayName
SelezionaData(day)">
@day.Day
@if (dayData.HasEvents)
{
@foreach (var cat in dayData.EventCategories)
{
}
}
}
}
else
{
var start = GetStartOfWeek(SelectedDate);
var culture = new System.Globalization.CultureInfo("it-IT");
for (var i = 0; i < 7; i++)
{
var day = start.AddDays(i);
var isSelected = IsSameDay(day, SelectedDate);
var isToday = IsSameDay(day, DateTime.Today);
var events = GetEventsForDay(day);
@day.ToString("ddd", culture)
SelezionaData(day)"
aria-label="@day.ToString("dddd d MMMM", culture)">
@day.Day
@if (events.Any())
{
@foreach (var cat in events.Select(x => x.Category).Distinct())
{
}
}
}
}
}