Skip to content

Commit 3b2373f

Browse files
fix(map): make idle GeoJSON dropzone non-interactive; remove dead code
- Idle dropzone was absolute inset-0 z-20 with no pointer-events-none, covering the MapLibre canvas and swallowing pan/zoom/draw events. Now pointer-events-none when idle, pointer-events-auto only during drag. - Remove unused overlaysRef (written, never read). - Remove unused GeoJsonData export and overlayHidden message (never rendered), keeping en/es/pt i18n in sync.
1 parent 92255f2 commit 3b2373f

5 files changed

Lines changed: 2 additions & 16 deletions

File tree

src/i18n/messages/en.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,9 +1274,6 @@
12741274
"map.overlay.empty": {
12751275
"defaultMessage": "No reference layers added"
12761276
},
1277-
"map.overlay.hidden": {
1278-
"defaultMessage": "Hidden"
1279-
},
12801277
"map.overlay.invalid": {
12811278
"defaultMessage": "Could not read “{name}”. Not valid GeoJSON."
12821279
},

src/i18n/messages/es.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,6 @@
393393
"map.overlay.drop": "Suelte un archivo .geojson para mostrarlo como capa de referencia",
394394
"map.overlay.dropActive": "Suelte el archivo para añadir la capa",
395395
"map.overlay.empty": "No hay capas de referencia añadidas",
396-
"map.overlay.hidden": "Oculto",
397396
"map.overlay.invalid": "No se pudo leer “{name}”. GeoJSON no válido.",
398397
"map.overlay.remove": "Quitar capa",
399398
"map.overlay.title": "Capas de referencia",

src/i18n/messages/pt.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,6 @@
393393
"map.overlay.drop": "Solte um arquivo .geojson para mostrá-lo como camada de referência",
394394
"map.overlay.dropActive": "Solte o arquivo para adicionar a camada",
395395
"map.overlay.empty": "Nenhuma camada de referência adicionada",
396-
"map.overlay.hidden": "Oculto",
397396
"map.overlay.invalid": "Não foi possível ler “{name}”. GeoJSON inválido.",
398397
"map.overlay.remove": "Remover camada",
399398
"map.overlay.title": "Camadas de referência",

src/screens/MapScreen/GeoJsonOverlay.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,7 @@ export function GeoJsonOverlay({ onOverlaysChange }: GeoJsonOverlayProps) {
9797
const dragDepthRef = useRef(0);
9898

9999
// Sync overlay state up to the parent for map-layer rendering.
100-
// Keep a ref of the latest value so the cleanup effect can notify
101-
// the parent of the final empty state on unmount.
102-
const overlaysRef = useRef(overlays);
103100
useEffect(() => {
104-
overlaysRef.current = overlays;
105101
onOverlaysChange(overlays);
106102
}, [overlays, onOverlaysChange]);
107103

@@ -223,8 +219,8 @@ export function GeoJsonOverlay({ onOverlaysChange }: GeoJsonOverlayProps) {
223219
onDrop={handleDrop}
224220
className={
225221
isDragActive
226-
? 'absolute inset-0 z-20 flex items-center justify-center border-4 border-dashed border-primary bg-primary/10'
227-
: 'absolute inset-0 z-20'
222+
? 'absolute inset-0 z-20 pointer-events-auto flex items-center justify-center border-4 border-dashed border-primary bg-primary/10'
223+
: 'absolute inset-0 z-20 pointer-events-none'
228224
}
229225
aria-label={intl.formatMessage(mapMessages.overlayDrop)}
230226
>
@@ -373,4 +369,3 @@ export function GeoJsonOverlay({ onOverlaysChange }: GeoJsonOverlayProps) {
373369
}
374370

375371
export type { GeoJsonOverlayProps };
376-
export type { GeoJSON as GeoJsonData } from 'geojson';

src/screens/MapScreen/messages.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -435,10 +435,6 @@ export const mapMessages = defineMessages({
435435
id: 'map.overlay.empty',
436436
defaultMessage: 'No reference layers added',
437437
},
438-
overlayHidden: {
439-
id: 'map.overlay.hidden',
440-
defaultMessage: 'Hidden',
441-
},
442438
// ── Cross-project map scope (#16) ────────────────────────────────────
443439
scopeThisProject: {
444440
id: 'map.scope.thisProject',

0 commit comments

Comments
 (0)