Disable month-scroll wheel navigation when event panel is open
Prevents accidental month changes (and lost edits) while scrolling anywhere on the calendar page with the detail panel visible. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
11f42ef91e
commit
43322db5ff
@ -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<typeof setTimeout> | 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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user