diff --git a/src/managers/AllDayManager.ts b/src/managers/AllDayManager.ts index 4885ae9..7f0df13 100644 --- a/src/managers/AllDayManager.ts +++ b/src/managers/AllDayManager.ts @@ -51,6 +51,12 @@ export class AllDayManager { console.log('🏗️ AllDayManager: Received request to ensure all-day container exists'); this.ensureAllDayContainer(); }); + + // Listen for header mouseleave to recalculate all-day container height + eventBus.on('header:mouseleave', () => { + console.log('🔄 AllDayManager: Received header:mouseleave, recalculating height'); + this.checkAndAnimateAllDayHeight(); + }); } /** diff --git a/src/managers/HeaderManager.ts b/src/managers/HeaderManager.ts index e1e5e01..f7a7815 100644 --- a/src/managers/HeaderManager.ts +++ b/src/managers/HeaderManager.ts @@ -55,6 +55,14 @@ export class HeaderManager { // Use mouseenter instead of mouseover to avoid continuous firing this.headerEventListener = (event: Event) => { + // OPTIMIZED: Check for active drag operation FIRST before doing any other work + const isDragActive = document.querySelector('.dragging') !== null; + + if (!isDragActive) { + // Ingen drag operation, spring resten af funktionen over + return; + } + const target = event.target as HTMLElement; console.log('🖱️ HeaderManager: mouseenter detected on:', target.tagName, target.className); @@ -74,14 +82,6 @@ export class HeaderManager { } if (allDayContainer) { - // SMART CHECK: Only calculate target date if there's an active drag operation - const isDragActive = document.querySelector('.dragging') !== null; - - if (!isDragActive) { - console.log('⏭️ HeaderManager: No active drag operation, skipping target date calculation'); - return; - } - console.log('📍 HeaderManager: Active drag detected, calculating target date...'); // Calculate target date from mouse X coordinate