diff --git a/apps/fishing-map/features/map/popups/PopupByCategory.tsx b/apps/fishing-map/features/map/popups/PopupByCategory.tsx
index 75d81535c0..bc3db30eca 100644
--- a/apps/fishing-map/features/map/popups/PopupByCategory.tsx
+++ b/apps/fishing-map/features/map/popups/PopupByCategory.tsx
@@ -75,7 +75,10 @@ function PopupByCategory({ interaction, type = 'hover' }: PopupByCategoryProps)
return (
- {Object.entries(featureByCategory)?.map(([featureCategory, features]) => {
+ {Object.entries(featureByCategory)?.map(([featureCategory, allCategoryFeatures]) => {
+ const features = allCategoryFeatures.some((feature) => feature.uniqueFeatureInteraction)
+ ? [allCategoryFeatures[0]]
+ : allCategoryFeatures
switch (featureCategory) {
case DataviewCategory.Activity:
case DataviewCategory.Detections: {
diff --git a/libs/deck-layers/src/layers/fourwings/clusters/FourwingsClustersLayer.ts b/libs/deck-layers/src/layers/fourwings/clusters/FourwingsClustersLayer.ts
index 2003db4309..8eac2932dc 100644
--- a/libs/deck-layers/src/layers/fourwings/clusters/FourwingsClustersLayer.ts
+++ b/libs/deck-layers/src/layers/fourwings/clusters/FourwingsClustersLayer.ts
@@ -133,6 +133,7 @@ export class FourwingsClustersLayer extends CompositeLayer<
subcategory: this.props.subcategory,
startTime: this.props.startTime,
endTime: this.props.endTime,
+ uniqueFeatureInteraction: true,
expansionZoom,
}
return { ...info, object }
diff --git a/libs/deck-layers/src/layers/fourwings/fourwings.types.ts b/libs/deck-layers/src/layers/fourwings/fourwings.types.ts
index 9faf9071f0..a109d7c3e0 100644
--- a/libs/deck-layers/src/layers/fourwings/fourwings.types.ts
+++ b/libs/deck-layers/src/layers/fourwings/fourwings.types.ts
@@ -1,5 +1,5 @@
import { ColorRampsIds } from '../../utils'
-import { DeckLayerProps } from '../../types'
+import { DeckLayerProps, DeckPickingObject } from '../../types'
import {
HEATMAP_HIGH_RES_ID,
HEATMAP_ID,
@@ -65,7 +65,8 @@ export type BaseFourwingsLayerProps = DeckLayerProps<{
}>
export type FourwingsPickingInfo = FourwingsHeatmapPickingInfo | FourwingsPositionsPickingInfo
-export type FourwingsPickingObject =
+export type FourwingsPickingObject = DeckPickingObject<
| FourwingsHeatmapPickingObject
| FourwingsHeatmapStaticPickingObject
| FourwingsPositionsPickingObject
+>
diff --git a/libs/deck-layers/src/layers/rulers/rulers.types.ts b/libs/deck-layers/src/layers/rulers/rulers.types.ts
index 16851b8f0f..bf461d9ac4 100644
--- a/libs/deck-layers/src/layers/rulers/rulers.types.ts
+++ b/libs/deck-layers/src/layers/rulers/rulers.types.ts
@@ -30,5 +30,5 @@ export type RulersLayerProps = GeoJsonLayerProps & {
}
export type RulerFeature = Feature
-export type RulerPickingObject = RulerFeature & DeckPickingObject<{}>
+export type RulerPickingObject = DeckPickingObject
export type RulerPickingInfo = PickingInfo
diff --git a/libs/deck-layers/src/types.ts b/libs/deck-layers/src/types.ts
index 0aa5b6e5f4..facf9d9b19 100644
--- a/libs/deck-layers/src/types.ts
+++ b/libs/deck-layers/src/types.ts
@@ -35,6 +35,7 @@ export type DeckPickingObject = {
color?: string
category: DeckLayerCategory
subcategory?: DeckLayerSubcategory
+ uniqueFeatureInteraction?: boolean
} & G
export type AnyDeckLayer =