diff --git a/src/components/SasquatchGuide.tsx b/src/components/SasquatchGuide.tsx index a6da099..3028d08 100644 --- a/src/components/SasquatchGuide.tsx +++ b/src/components/SasquatchGuide.tsx @@ -582,6 +582,12 @@ Instructions: // The full panel shows only when there's a message or when opened externally/by user tap. const shouldShowPanel = !!message || isVisible; + // Notify the rest of the app (e.g. MapPage FAB) when the panel opens or closes + useEffect(() => { + const panelOpen = shouldShowPanel && !isMinimized; + window.dispatchEvent(new CustomEvent('sasquatch:panelchange', { detail: { open: panelOpen } })); + }, [shouldShowPanel, isMinimized]); + const inputDisabled = isThinking; // Build a fallback generic message for pages with no specific context @@ -688,15 +694,24 @@ Instructions:
- {/* Minimize — keeps the bubble visible */} + {/* Minimize — shrinks to draggable bubble */} + {/* Close — hides the panel entirely */} +
diff --git a/src/pages/MapPage.tsx b/src/pages/MapPage.tsx index dda150b..6351cf7 100644 --- a/src/pages/MapPage.tsx +++ b/src/pages/MapPage.tsx @@ -572,6 +572,16 @@ export default function MapPage() { // Welcome banner — show once to new/logged-out visitors, dismissible const [welcomeDismissed, setWelcomeDismissed] = useLocalStorage('skatespots_welcome_dismissed', false); const showWelcomeBanner = !user && !welcomeDismissed; + + // Track Sasquatch panel open state so the Add Spot FAB can step aside + const [sasquatchPanelOpen, setSasquatchPanelOpen] = useState(false); + useEffect(() => { + const handler = (e: Event) => { + setSasquatchPanelOpen((e as CustomEvent<{ open: boolean }>).detail.open); + }; + window.addEventListener('sasquatch:panelchange', handler); + return () => window.removeEventListener('sasquatch:panelchange', handler); + }, []); // Quick camera capture const [showQuickCamera, setShowQuickCamera] = useState(false); @@ -1410,10 +1420,14 @@ export default function MapPage() { )} - {/* Add Spot FAB — primary CTA, bottom-left, always visible on map */} + {/* Add Spot FAB — primary CTA, bottom-left. + Hidden when Sasquatch panel is open (user is in chat mode). + Hidden when mobile filters or spot sheet is open. */}
{user ? (