diff --git a/src/features/map/client/MapClient.tsx b/src/features/map/client/MapClient.tsx index 8fae8b4..64ce314 100644 --- a/src/features/map/client/MapClient.tsx +++ b/src/features/map/client/MapClient.tsx @@ -146,6 +146,9 @@ export function MapClient() { useState('half'); const [pagerSnap, setPagerSnap] = useState('peek'); const [pagerPromotedCount, setPagerPromotedCount] = useState(0); + const [isPagerHiddenByMarkerDeck, setIsPagerHiddenByMarkerDeck] = useState( + () => selectedClusterId !== null, + ); const [tutorialOpen, setTutorialOpen] = useState(false); const [tutorialStepIndex, setTutorialStepIndex] = useState(0); const [selectedTutorialMarkerId, setSelectedTutorialMarkerId] = useState< @@ -186,10 +189,19 @@ export function MapClient() { useEffect(() => { if (!isMapMarkerDeckOpen) return; + setIsPagerHiddenByMarkerDeck(true); setPagerPromotedCount(0); setPagerSnap('peek'); }, [isMapMarkerDeckOpen, selectedClusterId]); + useEffect(() => { + if (isMapMarkerDeckOpen) return; + const revealTimer = window.setTimeout(() => { + setIsPagerHiddenByMarkerDeck(false); + }, 120); + return () => window.clearTimeout(revealTimer); + }, [isMapMarkerDeckOpen]); + const openMapTutorial = useCallback(() => { setFeedListOpen(false); setPagerSnap('peek'); @@ -808,7 +820,7 @@ export function MapClient() { onClose={() => updateUrl({ chat: false })} /> - {!isMapMarkerDeckOpen && ( + {!isPagerHiddenByMarkerDeck && (