feat(source2): lock dark mode, sans-serif typography, and all recent updates
This commit is contained in:
1 parent
dd4c8f6876
commit
9f24b56e97
259 files changed
+15596
-8966
No files matched your search
@@ -0,0 +1,27 @@
|
||||
# Fix: `Cannot read properties of undefined (reading '_leaflet_pos')`
|
||||
|
||||
**Trigger**: Ad-hoc bug fix request (goal fix error)
|
||||
**Date**: 2026-07-23 08:51 WIB
|
||||
**Affected file**: `src/components/admin/AgentLocationMap.tsx`
|
||||
|
||||
## Root Cause
|
||||
|
||||
Leaflet's zoom/fade animations are async. They read `_leaflet_pos` from DOM pane elements during a transitionend callback. When React StrictMode double-invokes effects or HMR triggers a remount, the container is removed while Leaflet's animation callback is still scheduled, causing the crash.
|
||||
|
||||
IndonesiaAgentMap.tsx (dashboard) already had `zoomAnimation: false` as a documented fix.
|
||||
AgentLocationMap.tsx (admin/agents page) did NOT have these flags - that was the bug.
|
||||
|
||||
## Fix Applied
|
||||
|
||||
- Added `zoomAnimation: false`, `fadeAnimation: false`, `markerZoomAnimation: false` to L.map() options
|
||||
- Added `animate: false` to fitBounds() during initial render and in resetView()
|
||||
- Wrapped cleanup remove() in try/catch for extra safety
|
||||
|
||||
## Outcome
|
||||
|
||||
Fix applied via HMR to already-running dev server (port 3000). No TypeScript errors.
|
||||
|
||||
## Notes for Next Time
|
||||
|
||||
- All new Leaflet map components must include these three animation flags
|
||||
- This is a Leaflet 1.x + React StrictMode incompatibility
|
||||
Reference in new issue
Block a user