feat: Implement sidebar toggle functionality and enhance Monthly Timesheet summary view

This commit is contained in:
Marco 2026-04-20 17:23:54 +02:00
commit a7f8dfba01
13 changed files with 686 additions and 58 deletions

View file

@ -0,0 +1,26 @@
namespace WorkTracker.Domain;
public sealed class MonthlyTimesheetDaySummary
{
public DateOnly Date { get; set; }
public decimal OfficeHours { get; set; }
public decimal HomeHours { get; set; }
public decimal OvertimeHours { get; set; }
public decimal WeekendHours { get; set; }
public decimal NightHours { get; set; }
public decimal VacationDays { get; set; }
public decimal PermitHours { get; set; }
public decimal CompensatoryRestDays { get; set; }
public decimal SickDays { get; set; }
public decimal HolidayDays { get; set; }
}

View file

@ -0,0 +1,46 @@
namespace WorkTracker.Domain;
public sealed class MonthlyTimesheetModel
{
public int Year { get; set; }
public int Month { get; set; }
public List<MonthlyTimesheetDayModel> Days { get; set; } = [];
public List<MonthlyTimesheetRowModel> Rows { get; set; } = [];
}
public sealed class MonthlyTimesheetDayModel
{
public DateOnly Date { get; set; }
public bool IsWeekend { get; set; }
public bool IsHoliday { get; set; }
public bool IsClosure { get; set; }
public List<string> WorkUnitSummaries { get; set; } = [];
public List<string> EventSummaries { get; set; } = [];
}
public sealed class MonthlyTimesheetRowModel
{
public string Key { get; set; } = string.Empty;
public string Label { get; set; } = string.Empty;
public MonthlyTimesheetValueFormat ValueFormat { get; set; }
public List<decimal?> DailyValues { get; set; } = [];
public decimal? Total { get; set; }
}
public enum MonthlyTimesheetValueFormat
{
Hours = 0,
Days = 1
}