import { lazy, Suspense } from "preact/compat"; import { twMerge } from "tailwind-merge"; import Loading from "../icons/Loading"; import LayerTreeMenu from "../LayerTreeMenu"; import OverlayDetails from "../OverlayDetails"; import OverlayHeader from "../OverlayHeader"; import Search from "../Search"; import ShareMenu from "../ShareMenu"; import useI18n from "../utils/hooks/useI18n"; import useMapContext from "../utils/hooks/useMapContext"; const contentClassName = `relative h-full overflow-x-hidden overflow-y-auto text-base bg-white`; const LazyExportMenu = lazy(() => { return import("../ExportMenu"); }); function OverlayContent({ hasDetails, hasLayerTree, hasPrint, hasSearch, hasShare, }: { hasDetails: boolean; hasLayerTree: boolean; hasPrint: boolean; hasRealtime: boolean; hasSearch: boolean; hasShare: boolean; }) { const { isExportMenuOpen, isLayerTreeOpen, isSearchOpen, isShareMenuOpen, setIsExportMenuOpen, setIsLayerTreeOpen, setIsShareMenuOpen, } = useMapContext(); const { t } = useI18n(); return ( <> {hasDetails && } {hasPrint && isExportMenuOpen && ( <> { setIsExportMenuOpen(false); }} title={t("print_menu_title")} > } > )} {hasLayerTree && isLayerTreeOpen && ( <> { setIsLayerTreeOpen(false); }} title={t("layertree_menu_title")} > )} {hasShare && isShareMenuOpen && ( <> { setIsShareMenuOpen(false); }} title={t("share_menu_title")} > )} {hasSearch && isSearchOpen && ( <> )} ); } export default OverlayContent;