feat(flights): integrate mission-planner into Flights page

- Port mission-planner flight planning to main app (Tailwind, react-leaflet v5, react-i18next)
- Add FlightMap with click-to-add waypoints, draggable markers, polyline with arrows
- Add FlightParamsPanel with action modes, waypoint list (drag-reorder), altitude chart, wind, JSON import/export
- Add FlightListSidebar with create/delete and telemetry date
- Add collapsible left panel with quick action mode shortcuts
- Add work area / no-go zone drawing via manual mouse events (L.rectangle)
- Add AltitudeDialog and JsonEditorDialog (Tailwind modals)
- Add battery/time/distance calculations per waypoint segment
- Add satellite/classic map toggle and mini-map on point drag
- Add Camera FOV and Communication Addr fields
- Add current position display under location search
- Merge mission-planner translations under flights.planner.*
- Gitignore .superpowers session data
This commit is contained in:
Oleksandr Hutsul
2026-04-17 00:31:24 +03:00
parent 567092188d
commit 274800e508
21 changed files with 1489 additions and 131 deletions
+50 -1
View File
@@ -33,7 +33,56 @@
"liveGps": "GPS Потік",
"correction": "Корекція GPS",
"apply": "Застосувати",
"telemetry": "Телеметрія"
"telemetry": "Телеметрія",
"planner": {
"point": "Точка",
"altitude": "Висота",
"initialAltitude": "Початкова висота",
"addPoints": "Точки",
"workArea": "Робоча зона",
"prohibitedArea": "Заборонена зона",
"location": "Місцезнаходження",
"currentLocation": "Поточне місцезнаходження",
"operations": "Операції",
"editAsJson": "Редагувати JSON",
"exportMapData": "Експорт",
"save": "Зберегти",
"upload": "Завантажити",
"titleAdd": "Додати нову точку",
"titleEdit": "Редагувати точку",
"description": "Введіть координати, висоту та мету точки.",
"latitude": "Широта",
"longitude": "Довгота",
"purpose": "Мета",
"cancel": "Скасувати",
"submitAdd": "Додати точку",
"submitEdit": "Зберегти зміни",
"removePoint": "Видалити",
"windSpeed": "Шв. вітру",
"windDirection": "Напр. вітру",
"setWind": "Вітер",
"battery": "бат.",
"metres": "м",
"km": "км",
"hour": "год",
"minutes": "хв",
"calculated": "розрахункова",
"error": "Помилка розрахунку",
"statusGood": "Долетить",
"statusCaution": "Є ризики",
"statusLow": "Не долетить",
"options": {
"artillery": "Артилерія",
"tank": "Танк"
},
"invalidJson": "Невірний JSON формат",
"editJsonHint": "Відредагуйте JSON дані за потреби.",
"satellite": "Супутник",
"cameraFov": "Камера FOV / Фокус",
"cameraFovPlaceholder": "Параметри FOV",
"commAddr": "Адреса / Порт",
"commAddrPlaceholder": "192.168.1.1:8080"
}
},
"annotations": {
"title": "Анотації",