From 13c298e51d595d5f01308b93762f7868871fc4e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=9D=D0=B0=D0=B4=D0=B5?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Wed, 11 Feb 2026 11:27:57 +0300 Subject: [PATCH] fix(calendar): prevent empty calendar state from overriding legacy mode - CalendarManager no longer updates state when no calendars found - Shows friendly message 'Events displayed in classic mode' - Integration stays uninitialized, uses legacy fetchEventsCombined - This ensures existing events always visible without Calendar records --- backend/static/js/components/calendarManager.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/backend/static/js/components/calendarManager.js b/backend/static/js/components/calendarManager.js index ac5177d7..afc8dc9a 100644 --- a/backend/static/js/components/calendarManager.js +++ b/backend/static/js/components/calendarManager.js @@ -42,6 +42,19 @@ export function initCalendarManager(options = {}) { try { calendars = await getMyCalendars(); + // Если календарей нет - не обновляем состояние (используем legacy режим) + if (calendars.length === 0) { + console.log('[CalendarManager] No calendars found, keeping legacy mode'); + container.innerHTML = ` +
+ +

Календари не настроены

+ События отображаются в классическом режиме +
+ `; + return; + } + // По умолчанию все календари видимы visibleCalendarIds = new Set(calendars.map(cal => cal.id));