Extract the waypoint marker into a React.memo'd component. The marker's position/icon were new references every render, so any unrelated PlannerMap re-render during a drag (e.g. the route-hover chart-sync state update) re-applied the stale saved position mid-drag — orphaning the drag so it never committed and the pin jumped back on release. Memoizing means unrelated re-renders no longer touch the marker, so the drag commits and the moved position persists. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| public | ||
| .gitignore | ||
| Dockerfile | ||
| package.json | ||
| react-router.config.ts | ||
| server.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.browser.config.ts | ||
| vitest.config.ts | ||