WeekLinkTitle with date ranges

This commit is contained in:
Kalle
2022-07-26 21:40:10 +03:00
parent cd6dadfec3
commit c06fc5fe42
5 changed files with 72 additions and 18 deletions

View File

@@ -16,15 +16,22 @@ export function dateToWeekNumber(date: Date) {
export function weekNumberToDate({
week,
year,
position = "start",
}: {
week: number;
year: number;
/** start = Date of Monday, end = Date of Sunday */
position?: "start" | "end";
}) {
// xxx: possible problem of mismatch when server time and local time don't match
// gotta make sure events which belong to monday are still shown for sunday
const result = new Date(Date.UTC(year, 0, 4));
result.setDate(
result.getDate() - (result.getDay() || 7) + 1 + 7 * (week - 1)
);
if (position === "end") {
result.setDate(result.getDate() + 6);
}
return result;
}