Fixat årsskifte med veckorna
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -220,8 +220,28 @@ namespace Aberwyn.Controllers
|
|||||||
var menuService = _menuService;
|
var menuService = _menuService;
|
||||||
|
|
||||||
var today = DateTime.Today;
|
var today = DateTime.Today;
|
||||||
int resolvedWeek = week ?? ISOWeek.GetWeekOfYear(today);
|
|
||||||
int resolvedYear = year ?? today.Year;
|
// Starta alltid från ett GILTIGT datum
|
||||||
|
DateTime referenceDate;
|
||||||
|
|
||||||
|
if (week.HasValue && year.HasValue)
|
||||||
|
{
|
||||||
|
// Om week < 1 eller > 53 – tolka det som navigering
|
||||||
|
// från närliggande vecka i stället för att krascha
|
||||||
|
int safeWeek = Math.Clamp(week.Value, 1, 53);
|
||||||
|
referenceDate = ISOWeek.ToDateTime(year.Value, safeWeek, DayOfWeek.Monday);
|
||||||
|
|
||||||
|
// Justera datumet med differensen (ex: week=0 → -1 vecka)
|
||||||
|
referenceDate = referenceDate.AddDays((week.Value - safeWeek) * 7);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
referenceDate = today;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Normalisera alltid via datum
|
||||||
|
int resolvedWeek = ISOWeek.GetWeekOfYear(referenceDate);
|
||||||
|
int resolvedYear = ISOWeek.GetYear(referenceDate);
|
||||||
|
|
||||||
var menus = menuService.GetWeeklyMenu(resolvedWeek, resolvedYear);
|
var menus = menuService.GetWeeklyMenu(resolvedWeek, resolvedYear);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user