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. */}