import React, { useEffect, useState } from "react"; import { OlLocation } from "../components/ollocation"; import { LatLng } from "leaflet"; import { FaBullseye, FaChevronDown, FaChevronUp, FaJetFighter, FaMountain } from "react-icons/fa6"; import { BullseyesDataChangedEvent, MouseMovedEvent, SelectedUnitsChangedEvent, SelectionClearedEvent } from "../../events"; import { computeBearingRangeString, mToFt } from "../../other/utils"; import { Bullseye } from "../../mission/bullseye"; import { Unit } from "../../unit/unit"; export function CoordinatesPanel(props: {}) { const [latlng, setLatlng] = useState(new LatLng(0, 0)); const [elevation, setElevation] = useState(0); const [bullseyes, setBullseyes] = useState(null as null | { [name: string]: Bullseye }); const [selectedUnits, setSelectedUnits] = useState([] as Unit[]); useEffect(() => { MouseMovedEvent.on((latlng, elevation) => { setLatlng(latlng); if (elevation) setElevation(elevation); }); BullseyesDataChangedEvent.on((bullseyes) => setBullseyes(bullseyes)); SelectedUnitsChangedEvent.on((selectedUnits) => setSelectedUnits(selectedUnits)); SelectionClearedEvent.on(() => setSelectedUnits([])); }, []); return (