From 274753936ee676518de3faaaae06fd6783d1c04a Mon Sep 17 00:00:00 2001 From: "Janus C. H. Knudsen" Date: Thu, 25 Sep 2025 20:39:48 +0200 Subject: [PATCH] Creates all-day container in header renderer Ensures all-day container is created as part of the standard header structure, rather than on-demand. Removes the request listener and logic for ensuring all-day container existence. --- src/managers/HeaderManager.ts | 37 --------------------------------- src/renderers/HeaderRenderer.ts | 4 ++++ 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/src/managers/HeaderManager.ts b/src/managers/HeaderManager.ts index b30fbc0..d31376e 100644 --- a/src/managers/HeaderManager.ts +++ b/src/managers/HeaderManager.ts @@ -24,9 +24,6 @@ export class HeaderManager { // Listen for navigation events to update header this.setupNavigationListener(); - - // Listen for requests to ensure all-day container - this.setupContainerRequestListener(); } /** @@ -60,9 +57,6 @@ export class HeaderManager { }); if (targetDate) { - // Ensure all-day container exists - this.ensureAllDayContainer(); - const calendarType = calendarConfig.getCalendarMode(); const headerRenderer = CalendarTypeFactory.getHeaderRenderer(calendarType); @@ -94,27 +88,6 @@ export class HeaderManager { console.log('✅ HeaderManager: Drag event listeners attached'); } - /** - * Ensure all-day container exists in header - creates directly - */ - private ensureAllDayContainer(): HTMLElement | null { - const calendarHeader = this.getCalendarHeader(); - if (!calendarHeader) return null; - - let allDayContainer = calendarHeader.querySelector('swp-allday-container') as HTMLElement; - - if (!allDayContainer) { - console.log('📍 HeaderManager: Creating all-day container directly...'); - allDayContainer = document.createElement('swp-allday-container'); - calendarHeader.appendChild(allDayContainer); - - console.log('✅ HeaderManager: All-day container created'); - } - - return allDayContainer; - } - - /** * Setup navigation event listener */ @@ -138,16 +111,6 @@ export class HeaderManager { } - /** - * Setup listener for all-day container creation requests - */ - private setupContainerRequestListener(): void { - eventBus.on('header:ensure-allday-container', () => { - console.log('📍 HeaderManager: Received request to ensure all-day container'); - this.ensureAllDayContainer(); - }); - } - /** * Update header content for navigation */ diff --git a/src/renderers/HeaderRenderer.ts b/src/renderers/HeaderRenderer.ts index de5fa71..c06daeb 100644 --- a/src/renderers/HeaderRenderer.ts +++ b/src/renderers/HeaderRenderer.ts @@ -30,6 +30,10 @@ export class DateHeaderRenderer implements HeaderRenderer { render(calendarHeader: HTMLElement, context: HeaderRenderContext): void { const { currentWeek, config } = context; + // FIRST: Always create all-day container as part of standard header structure + const allDayContainer = document.createElement('swp-allday-container'); + calendarHeader.appendChild(allDayContainer); + // Initialize date calculator with config DateCalculator.initialize(config); this.dateCalculator = new DateCalculator();