Skip to content

Add manual coordinate vertex placement and review workflow to airport editor#105

Merged
AussieScorcher merged 3 commits intomainfrom
design/improve-airport-editor-ui
Feb 23, 2026
Merged

Add manual coordinate vertex placement and review workflow to airport editor#105
AussieScorcher merged 3 commits intomainfrom
design/improve-airport-editor-ui

Conversation

@llamavert
Copy link
Contributor

Summary

Adds a new manual-coordinate vertex placement flow to the airport editor and introduces a dedicated review workflow for pending changes before upload.

Changes Made

  • Added a manual coordinate entry mode while creating new objects, including dynamic vertex inputs, add/remove vertex controls, coordinate parsing, and generate/continue actions.
  • Added airport boundary-box validation for entered and edited coordinates, with warning toasts when vertices are outside allowed bounds.
  • Added lifecycle handling for manually generated temporary features, including cleanup on cancel, reset when selecting from the map, and safe replacement when regenerating coordinates.
  • Added a review panel that shows pending create/modify/delete changes with per-item revert actions and a change-count badge.
  • Added a reusable revert handler to undo individual create, modify, and delete entries and restore map layer state from existing data.
  • Extracted upload logic into a dedicated handleUpload function and wired the review panel save action to it.
  • Updated editor navigation and controls, including a back button to division management, improved cancel/add button states, and updated object status badge styling.
  • Added panel-state behavior to hide the review panel automatically when no pending changes remain.

Additional Information

Author Information

Discord Username:
VATSIM CID:


Checklist:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 23, 2026

Greptile Summary

Added manual coordinate vertex placement flow to the airport editor, enabling users to enter coordinates (decimal or DMS format) directly and place vertices on the map when imagery is outdated. Introduced a dedicated review panel that displays pending create/modify/delete changes with per-item revert actions and a change count badge. The changes include bbox validation to prevent placing vertices outside airport boundaries, escape key support for canceling placement, and extracted upload logic into a reusable handleUpload function.

Key changes:

  • Manual coordinate entry mode with dynamic vertex inputs, add/remove controls, and coordinate parsing for both decimal and DMS formats
  • Review panel with organized change list (creates, modifies, deletes) and revert functionality
  • Airport boundary box validation with warning toasts when coordinates are out of bounds
  • Lifecycle handling for manually-placed temporary features (cleanup on cancel, reset on map selection)
  • Improved editor navigation with back button, updated cancel/add button states, and enhanced object status badges
  • ICAO parameter normalization in XMLGenerator using useMemo for consistent trimming and uppercasing

Confidence Score: 4/5

  • This PR is safe to merge with minor testing recommendations
  • The implementation is well-structured with proper state management, validation logic, and cleanup handlers. The DMS coordinate parsing appears correct, boundary validation prevents invalid placements, and the review panel provides good UX for managing changes. Minor complexity in state management for manual coordinate flow could benefit from additional testing of edge cases.
  • Pay close attention to src/components/divisions/AirportPointEditor.jsx during testing, particularly the manual coordinate entry flow and escape key behavior

Important Files Changed

Filename Overview
src/pages/XMLGenerator.jsx Improved ICAO parameter handling by normalizing it with useMemo and updating regex validation, dependency array, and useEffect trigger
src/components/divisions/AirportPointEditor.jsx Added manual coordinate entry flow with DMS/decimal parsing, review panel with per-item revert, bbox validation, escape key handling, and extracted upload logic

Last reviewed commit: 1709c10

…ter class'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
@AussieScorcher AussieScorcher merged commit 46c309e into main Feb 23, 2026
5 checks passed
@AussieScorcher AussieScorcher deleted the design/improve-airport-editor-ui branch February 23, 2026 10:56
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.

2 participants