import React, { useRef } from 'react'; import { useMapTabBottomSheet } from '../hooks/useMapTabBottomSheet'; import { useMapStore } from '../state'; /** * 「我」「贡献」叠在共享地图层之上;三档为露头 / 半屏 / 顶满(中间档为 50%,与本地生活脉搏的约 20% 不同)。 * 与探索页一致:有地点详情 / 地点结果 Sheet / 路线面板时收起本 Sheet,避免与 PlaceDetailSheet 等双叠。 */ export const MapTabSheetFrame: React.FC<{ children: React.ReactNode; }> = ({ children }) => { const containerRef = useRef(null); const { sheetHeight, isDragging, pointerHandlers } = useMapTabBottomSheet(containerRef); const poi = useMapStore((s) => s.currentView.poi); const route = useMapStore((s) => s.currentView.route); const placeResultsSheetOpen = useMapStore((s) => s.currentView.placeResultsSheetOpen); const routeSheetOpen = useMapStore((s) => s.currentView.routeSheetOpen); const hideTabSheet = poi !== null || route !== null || placeResultsSheetOpen || routeSheetOpen; if (hideTabSheet) { return null; } return (
{children}
); };