import React, { useState } from 'react'; export default function AdminPanel({ gameState, airports = [], activeAirport, activeAirportConfig, onSelectAirport, sendWSMessage, draftingMode, setDraftingMode, airportName, setAirportName, isRunwayBidirectional, setIsRunwayBidirectional, starDraft, setStarDraft, sidDraft, setSidDraft }) { const [editingWaypoint, setEditingWaypoint] = useState(null); // {gate, runway, index, wp} const [editingRunway, setEditingRunway] = useState(null); // {rw} const [runwayLabel, setRunwayLabel] = useState(""); const [spawnFields, setSpawnFields] = useState({ callsign: `UA${Math.floor(Math.random() * 900) + 100}`, type: "B738", altitude: 10000, speed: 250, gate: "N", isDeparture: false, runwayId: "", terminalGateId: "" }); const handleSpawn = () => { sendWSMessage('spawn', { ...spawnFields, is_departure: spawnFields.isDeparture, runway_id: spawnFields.runwayId, terminal_gate_id: spawnFields.terminalGateId, altitude: parseInt(spawnFields.altitude || 0), speed: parseInt(spawnFields.speed || 0) }); setSpawnFields(prev => ({ ...prev, callsign: `UA${Math.floor(Math.random() * 900) + 100}` })); }; const renderEditModal = () => { if (!editingWaypoint && !editingRunway) return null; const isWaypoint = !!editingWaypoint; const title = isWaypoint ? `Edit Waypoint: ${editingWaypoint.wp.name}` : `Edit Runway: ${editingRunway.rw.id}`; const handleSave = (e) => { e.preventDefault(); const formData = new FormData(e.target); if (isWaypoint) { sendWSMessage('update_waypoint', { airport_code: activeAirport.airport_code, waypoint_id: editingWaypoint.wp.id, name: formData.get('name'), target_alt: parseInt(formData.get('alt')), target_speed: parseInt(formData.get('speed')) }); setEditingWaypoint(null); } else { sendWSMessage('update_runway', { airport_code: activeAirport.airport_code, runway_id: editingRunway.rw.id, new_id: formData.get('id'), heading: parseFloat(formData.get('heading')) }); setEditingRunway(null); } }; return (

{title}

{isWaypoint ? ( <>
) : ( <>
)}
); }; return ( ); }