From e1d816d36078c351805b6fbe504566cdf18fb76c Mon Sep 17 00:00:00 2001 From: seojing Date: Sat, 30 May 2026 22:01:24 +0900 Subject: [PATCH] =?UTF-8?q?feat(map):=20=ED=8A=9C=ED=86=A0=EB=A6=AC?= =?UTF-8?q?=EC=96=BC=20=EB=95=8C=20=EB=A7=88=EC=BB=A4=20=EC=88=A8=EA=B9=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/map/client/MapClient.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 && (