diff --git a/frontend/src/components/calendar/CalendarPage.tsx b/frontend/src/components/calendar/CalendarPage.tsx index dc58d13..dff063a 100644 --- a/frontend/src/components/calendar/CalendarPage.tsx +++ b/frontend/src/components/calendar/CalendarPage.tsx @@ -187,12 +187,13 @@ export default function CalendarPage() { return () => cancelAnimationFrame(rafId); }, [panelOpen]); - // Scroll wheel navigation in month view + // Scroll wheel navigation in month view (disabled when detail panel is open) useEffect(() => { const el = calendarContainerRef.current; if (!el) return; let debounceTimer: ReturnType | null = null; const handleWheel = (e: WheelEvent) => { + if (panelOpen) return; // Skip wheel navigation on touch devices (let them scroll normally) if ('ontouchstart' in window) return; const api = calendarRef.current?.getApi(); @@ -207,7 +208,7 @@ export default function CalendarPage() { }; el.addEventListener('wheel', handleWheel, { passive: false }); return () => el.removeEventListener('wheel', handleWheel); - }, []); + }, [panelOpen]); // AW-2: Track visible date range for scoped event fetching // W-02 fix: Initialize from current month to avoid unscoped first fetch