diff --git a/map.js b/map.js index dcfe9fb..9ea9e11 100644 --- a/map.js +++ b/map.js @@ -25,11 +25,19 @@ const SWIPE_THRESHOLD = 50; const VELOCITY_THRESHOLD = 0.3; // px/ms const CARD_TRANSITION = 'transform 0.3s cubic-bezier(0.4,0,0.2,1)'; -function updateCardToggleButton() { +function updateCardToggleButton(enabled) { + cardModeEnabled = enabled; + localStorage.setItem('cardMode', enabled); const button = document.getElementById('card-mode-toggle'); - if (!button) return; - button.classList.toggle('active', cardModeEnabled); - button.title = cardModeEnabled ? 'Disable floating cards' : 'Enable floating cards'; + if (button) { + button.classList.toggle('active', cardModeEnabled); + button.title = cardModeEnabled ? 'Disable floating cards' : 'Enable floating cards'; + } + if (enabled && Events.currentEvent) { + showEventCard(Events.currentEvent); + } else if (!enabled) { + hideEventCard(); + } } function buildCardContent(container, event) { @@ -220,7 +228,9 @@ function initEventCard() { const deltaY = e.changedTouches[0].clientY - touchStartY; if (gestureAxis === 'vertical') { - if (deltaY > SWIPE_THRESHOLD) hideEventCard(); + if (deltaY > SWIPE_THRESHOLD) { + updateCardToggleButton(false); + } return; } @@ -267,16 +277,9 @@ function initEventCard() { }); const toggleButton = document.getElementById('card-mode-toggle'); - updateCardToggleButton(); + updateCardToggleButton(cardModeEnabled); toggleButton.addEventListener('click', () => { - cardModeEnabled = !cardModeEnabled; - localStorage.setItem('cardMode', cardModeEnabled); - updateCardToggleButton(); - if (cardModeEnabled && Events.currentEvent) { - showEventCard(Events.currentEvent); - } else if (!cardModeEnabled) { - hideEventCard(); - } + updateCardToggleButton(!cardModeEnabled); }); }