Skip to content

feat: add "Copy coordinates" to the map context menu#2817

Open
rafaellehmkuhl wants to merge 1 commit into
bluerobotics:masterfrom
rafaellehmkuhl:issue-2369-copy-coordinates-context-menu
Open

feat: add "Copy coordinates" to the map context menu#2817
rafaellehmkuhl wants to merge 1 commit into
bluerobotics:masterfrom
rafaellehmkuhl:issue-2369-copy-coordinates-context-menu

Conversation

@rafaellehmkuhl

Copy link
Copy Markdown
Member

Lets users grab the latitude/longitude of any point on the map by right-clicking it and copying the coordinates to the clipboard.

Closes #2369

Lets users grab the latitude/longitude of any point on the map by
right-clicking it and copying the coordinates to the clipboard.

Closes bluerobotics#2369
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

Automated PR Review (Claude)

0. Summary

Verdict: MINOR SUGGESTIONS

Minor items to consider: 5.1, 6.1.

This PR adds a "Copy coordinates" option to the Map widget's right-click context menu. When the user right-clicks on the map and selects "Copy coordinates," the latitude and longitude (to 7 decimal places) are copied to the clipboard via the existing copyToClipboard utility, with a snackbar confirming the action. The implementation is clean, small, and follows existing patterns in the file.

1. Correctness & Implementation Bugs — ✅

2. AGENTS.md Adherence — ✅

3. Security — ✅

4. Performance — ✅

5. UI / UX

5.1 (minor) — The new logUserAction('Copied map coordinates from the context menu') is placed after the await copyToClipboard(...) succeeds. This is correct. However, the other existing context-menu actions in Map.vue (GoTo, set default position, clear path history, place POI, etc.) have no logUserAction calls at all. Per the AGENTS.md rule, every discrete user interaction should produce a logUserAction entry. It is good that this PR adds one for the new feature, but the inconsistency across the file's other menu actions is worth noting — it is out of scope for this PR but may be worth a follow-up.

6. Code Quality & Style

6.1 (nit) — Map.vue is already 2283 lines (pre-existing, before this PR's additions). The guidelines suggest flagging Vue files past ~2000 lines. This is entirely pre-existing tech debt and not caused by this PR, but worth noting for future consideration of extracting composables or child components.

7. Commit Hygiene — ✅

8. Tests — ✅

9. Documentation — ✅

10. Nitpicks / Optional — ✅

Generated by Claude. This is advisory; a human reviewer must still approve.

@rafaellehmkuhl

Copy link
Copy Markdown
Member Author

Review follow-up — round 1

no code changes this round — the automated review only raised two items and both are pre-existing / out of scope for this PR.

Deferred

  • 5.1 — logUserAction on the other menu actions: this PR's new action already logs via logUserAction. the missing calls on the existing actions (GoTo, set default map position, clear path history, place POI, etc.) predate this change; adding them here would break scope. can open a separate issue to backfill logUserAction across the map context-menu handlers.
  • 6.1 — Map.vue size (~2283 lines): pre-existing, not introduced here. worth a dedicated refactor to extract composables/child components rather than bolting onto this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow users to get the coordinates of any point in the map

2 participants