fix: cookie settings override, 5x week animation, deprecated meta tag

This commit is contained in:
mARTin 2026-03-04 11:08:39 +01:00
parent c5c713da11
commit 58bbbbdf52
2 changed files with 29 additions and 18 deletions

View File

@ -20,6 +20,9 @@ export const metadata: Metadata = {
statusBarStyle: 'default', statusBarStyle: 'default',
title: 'My Weekly To Do List', title: 'My Weekly To Do List',
}, },
other: {
'mobile-web-app-capable': 'yes',
},
}; };
export default function RootLayout({ export default function RootLayout({

View File

@ -1488,34 +1488,42 @@ export default function WeeklyView() {
setTimeFormat(data.user.timeFormat || "12h"); setTimeFormat(data.user.timeFormat || "12h");
setDateFormat(data.user.dateFormat || "MM/dd/yyyy"); setDateFormat(data.user.dateFormat || "MM/dd/yyyy");
setLanguage(data.user.language || "en"); setLanguage(data.user.language || "en");
if (data.user.startHour !== undefined) { if (data.user.startHour !== undefined)
const cookieStartHour = getCookie("setting_startHour"); setStartHour(data.user.startHour);
setStartHour(cookieStartHour ? Number(cookieStartHour) : data.user.startHour); if (data.user.endHour !== undefined)
} setEndHour(data.user.endHour);
if (data.user.endHour !== undefined) {
const cookieEndHour = getCookie("setting_endHour");
setEndHour(cookieEndHour ? Number(cookieEndHour) : data.user.endHour);
}
if (data.user.viewStyle !== undefined) { if (data.user.viewStyle !== undefined) {
setViewStyle(data.user.viewStyle as ViewStyle); setViewStyle(data.user.viewStyle as ViewStyle);
setShowTimeGrid(data.user.showTimeGrid ?? true); setShowTimeGrid(data.user.showTimeGrid ?? true);
} }
if (data.user.viewDays !== undefined) { if (data.user.viewDays !== undefined) {
// Cookie override for per-device viewDays savedViewDaysRef.current = data.user.viewDays;
const cookieViewDays = getCookie("setting_viewDays");
const effectiveViewDays = cookieViewDays ? Number(cookieViewDays) : data.user.viewDays;
savedViewDaysRef.current = effectiveViewDays;
// Re-apply responsive constraints after loading saved preference
const width = window.innerWidth; const width = window.innerWidth;
if (width <= 480) setViewDays(1); if (width <= 480) setViewDays(1);
else if (width <= 768) setViewDays(3); else if (width <= 768) setViewDays(3);
else if (width <= 1024) setViewDays(Math.min(effectiveViewDays, 5)); else if (width <= 1024) setViewDays(Math.min(data.user.viewDays, 5));
else setViewDays(effectiveViewDays); else setViewDays(data.user.viewDays);
}
if (data.user.cellDuration !== undefined)
setCellDuration(data.user.cellDuration as CellDuration);
// Cookie overrides for per-device settings (always apply, even if DB has no value)
const cookieViewDays = getCookie("setting_viewDays");
if (cookieViewDays) {
const v = Number(cookieViewDays);
savedViewDaysRef.current = v;
const width = window.innerWidth;
if (width <= 480) setViewDays(1);
else if (width <= 768) setViewDays(3);
else if (width <= 1024) setViewDays(Math.min(v, 5));
else setViewDays(v);
} }
if (data.user.cellDuration !== undefined) {
const cookieCellDuration = getCookie("setting_cellDuration"); const cookieCellDuration = getCookie("setting_cellDuration");
setCellDuration((cookieCellDuration ? Number(cookieCellDuration) : data.user.cellDuration) as CellDuration); if (cookieCellDuration) setCellDuration(Number(cookieCellDuration) as CellDuration);
} const cookieStartHour = getCookie("setting_startHour");
if (cookieStartHour) setStartHour(Number(cookieStartHour));
const cookieEndHour = getCookie("setting_endHour");
if (cookieEndHour) setEndHour(Number(cookieEndHour));
setShowNextTask(data.user.showNextTask || false); setShowNextTask(data.user.showNextTask || false);
setCalendarEditMode(data.user.calendarEditMode || false); setCalendarEditMode(data.user.calendarEditMode || false);
if (data.user.fontSize) if (data.user.fontSize)