diff --git a/apps/topicmaps/generic/src/app/App.jsx b/apps/topicmaps/generic/src/app/App.jsx
index fab49b592d..da1ade66e0 100644
--- a/apps/topicmaps/generic/src/app/App.jsx
+++ b/apps/topicmaps/generic/src/app/App.jsx
@@ -9,6 +9,7 @@ import { md5FetchText } from "react-cismap/tools/fetching";
import { getGazDataForTopicIds } from "react-cismap/tools/gazetteerHelper";
import { pointOnFeature } from "@turf/point-on-feature";
import TopicMapContextProvider from "react-cismap/contexts/TopicMapContextProvider";
+import { CarmaLightBox } from "@carma-mapping/lightbox";
import { getClusterIconCreatorFunction } from "react-cismap/tools/uiHelper";
import { getSimpleHelpForGenericTM } from "react-cismap/tools/genericTopicMapHelper";
import getGTMFeatureStyler, {
@@ -1296,13 +1297,15 @@ function App({ name }) {
appKey="GenericTopicMap"
>
-
+
+
+
diff --git a/apps/topicmaps/generic/src/app/Map.jsx b/apps/topicmaps/generic/src/app/Map.jsx
index 96116b70f9..86acce9480 100644
--- a/apps/topicmaps/generic/src/app/Map.jsx
+++ b/apps/topicmaps/generic/src/app/Map.jsx
@@ -290,6 +290,13 @@ const Map = ({
getSymbolSVG = undefined;
}
+ // The carma FeatureInfobox dispatches to the CarmaLightBox viewer, while the
+ // react-cismap GenericInfoBoxFromFeature relies on TopicMapComponent's
+ // built-in lightbox. Drive photoLightBox off the same condition that picks
+ // the infobox so exactly one viewer is active.
+ const useCarmaInfobox =
+ config.tm.vectorLayers && config.tm.noFeatureCollection === true;
+
return (
@@ -353,8 +360,9 @@ const Map = ({
fullScreenControl={false}
zoomControls={false}
gazetteerSearchComponent={EmptySearchComponent}
+ photoLightBox={!useCarmaInfobox}
infoBox={
- config.tm.vectorLayers && config.tm.noFeatureCollection === true ? (
+ useCarmaInfobox ? (
-
+
+
+
);
}
diff --git a/apps/topicmaps/kita-finder/src/app/Kitakarte.jsx b/apps/topicmaps/kita-finder/src/app/Kitakarte.jsx
index d32bc1085c..b73a14bca3 100644
--- a/apps/topicmaps/kita-finder/src/app/Kitakarte.jsx
+++ b/apps/topicmaps/kita-finder/src/app/Kitakarte.jsx
@@ -124,6 +124,7 @@ const KitaKarte = () => {
}
diff --git a/apps/topicmaps/klimaorte/src/app/App.jsx b/apps/topicmaps/klimaorte/src/app/App.jsx
index 7c66ee9f45..c94fe4aaa8 100644
--- a/apps/topicmaps/klimaorte/src/app/App.jsx
+++ b/apps/topicmaps/klimaorte/src/app/App.jsx
@@ -5,6 +5,7 @@ import "react-bootstrap-typeahead/css/Typeahead.css";
import { MappingConstants } from "react-cismap";
import Icon from "react-cismap/commons/Icon";
import TopicMapContextProvider from "react-cismap/contexts/TopicMapContextProvider";
+import { CarmaLightBox } from "@carma-mapping/lightbox";
import StyledWMSTileLayer from "react-cismap/StyledWMSTileLayer";
import { getClusterIconCreatorFunction } from "react-cismap/tools/uiHelper";
import "react-cismap/topicMaps.css";
@@ -95,7 +96,9 @@ function App() {
disableClusteringAtZoom: 20,
}}
>
-
+
+
+
);
}
diff --git a/apps/topicmaps/klimaorte/src/app/KlimaorteMap.jsx b/apps/topicmaps/klimaorte/src/app/KlimaorteMap.jsx
index 5139fc4cd0..a4fbb8bfff 100644
--- a/apps/topicmaps/klimaorte/src/app/KlimaorteMap.jsx
+++ b/apps/topicmaps/klimaorte/src/app/KlimaorteMap.jsx
@@ -4,7 +4,6 @@ import { useContext, useEffect, useState } from "react";
import "react-bootstrap-typeahead/css/Typeahead.css";
import FeatureCollection from "react-cismap/FeatureCollection";
import "react-cismap/topicMaps.css";
-import InfoBoxFotoPreview from "react-cismap/topicmaps/InfoBoxFotoPreview";
import ModeSwitcher from "./ModeSwitcher";
import TopicMapComponent from "react-cismap/topicmaps/TopicMapComponent";
@@ -28,7 +27,10 @@ import {
} from "@carma-mapping/components";
import { removeQueryPart } from "react-cismap/tools/routingHelper";
-import { LightBoxDispatchContext } from "react-cismap/contexts/LightBoxContextProvider";
+import {
+ InfoBoxFotoPreview,
+ LightBoxDispatchContext,
+} from "@carma-mapping/lightbox";
import { appModes, getMode, getModeUrl } from "./helper/modeParser";
import { getClusterIconCreatorFunction } from "react-cismap/tools/uiHelper";
import { getColorConsideringSeondarySelection } from "./helper/styler";
@@ -298,6 +300,7 @@ function KlimaorteMap() {
}}
/>
}
diff --git a/apps/topicmaps/kulturstadtplan/src/app/App.tsx b/apps/topicmaps/kulturstadtplan/src/app/App.tsx
index 9d97de617d..89e669c58f 100644
--- a/apps/topicmaps/kulturstadtplan/src/app/App.tsx
+++ b/apps/topicmaps/kulturstadtplan/src/app/App.tsx
@@ -1,6 +1,7 @@
import { useEffect } from "react";
import { MappingConstants } from "react-cismap";
import TopicMapContextProvider from "react-cismap/contexts/TopicMapContextProvider";
+import { CarmaLightBox } from "@carma-mapping/lightbox";
import "bootstrap/dist/css/bootstrap.min.css";
import "leaflet/dist/leaflet.css";
@@ -56,7 +57,9 @@ export function App() {
backgroundConfigurations={backgroundConfWithFastOrtho2024}
>
-
+
+
+
);
}
diff --git a/apps/topicmaps/kulturstadtplan/src/app/components/Map.tsx b/apps/topicmaps/kulturstadtplan/src/app/components/Map.tsx
index 5ec5b2b8b5..d13b7ee628 100644
--- a/apps/topicmaps/kulturstadtplan/src/app/components/Map.tsx
+++ b/apps/topicmaps/kulturstadtplan/src/app/components/Map.tsx
@@ -110,7 +110,7 @@ const Map = () => {
locatorControl={false}
fullScreenControl={false}
zoomControls={false}
- photoLightBox
+ photoLightBox={false}
gazetteerSearchControl={true}
gazetteerSearchComponent={EmptySearchComponent}
applicationMenuTooltipString={
}
diff --git a/apps/topicmaps/luftmessstationen/src/app/App.jsx b/apps/topicmaps/luftmessstationen/src/app/App.jsx
index ea961d412a..8433ba7b07 100644
--- a/apps/topicmaps/luftmessstationen/src/app/App.jsx
+++ b/apps/topicmaps/luftmessstationen/src/app/App.jsx
@@ -7,6 +7,7 @@ import "leaflet/dist/leaflet.css";
import "react-bootstrap-typeahead/css/Typeahead.css";
import "react-cismap/topicMaps.css";
import TopicMapContextProvider from "react-cismap/contexts/TopicMapContextProvider";
+import { CarmaLightBox } from "@carma-mapping/lightbox";
import getGTMFeatureStyler from "react-cismap/topicmaps/generic/GTMStyler";
import ContactButton from "react-cismap/ContactButton";
@@ -80,7 +81,9 @@ function App() {
backgroundConfigurations={backgroundConfWithFastOrtho2024}
>
-
+
+
+
);
}
diff --git a/apps/topicmaps/luftmessstationen/src/app/Luftmessstationskarte.jsx b/apps/topicmaps/luftmessstationen/src/app/Luftmessstationskarte.jsx
index 15bced1126..163730a91e 100644
--- a/apps/topicmaps/luftmessstationen/src/app/Luftmessstationskarte.jsx
+++ b/apps/topicmaps/luftmessstationen/src/app/Luftmessstationskarte.jsx
@@ -115,6 +115,7 @@ function Comp() {