'use client'; import { useState } from 'react'; import { Aircraft } from '@/lib/api'; interface OrganizationDetailsModalProps { isOpen: boolean; onClose: () => void; organization: string; aircraft: Aircraft[]; onEdit?: (aircraft: Aircraft) => void; } export default function OrganizationDetailsModal({ isOpen, onClose, organization, aircraft, onEdit, }: OrganizationDetailsModalProps) { const [editingId, setEditingId] = useState(null); const [editedAircraft, setEditedAircraft] = useState(null); if (!isOpen) return null; const handleEdit = (item: Aircraft) => { setEditingId(item.id); setEditedAircraft({ ...item }); }; const handleSave = () => { if (editedAircraft && onEdit) { onEdit(editedAircraft); } setEditingId(null); setEditedAircraft(null); }; const handleCancel = () => { setEditingId(null); setEditedAircraft(null); }; const handleChange = (field: keyof Aircraft, value: string | number) => { if (editedAircraft) { setEditedAircraft({ ...editedAircraft, [field]: value }); } }; return (
e.stopPropagation()} >

{organization}

Воздушных судов: {aircraft.length}

{aircraft.map((item) => ( ))}
РЕГИСТРАЦИОННЫЙ НОМЕР СЕРИЙНЫЙ НОМЕР ТИП ВС СТАТУС НАЛЕТ (Ч) ДЕЙСТВИЯ
{editingId === item.id && editedAircraft ? ( handleChange('registrationNumber', e.target.value)} style={{ padding: '6px', border: '1px solid #ccc', borderRadius: '4px', width: '100%', }} /> ) : ( item.registrationNumber )} {editingId === item.id && editedAircraft ? ( handleChange('serialNumber', e.target.value)} style={{ padding: '6px', border: '1px solid #ccc', borderRadius: '4px', width: '100%', }} /> ) : ( item.serialNumber )} {editingId === item.id && editedAircraft ? ( handleChange('aircraftType', e.target.value)} style={{ padding: '6px', border: '1px solid #ccc', borderRadius: '4px', width: '100%', }} /> ) : ( item.aircraftType )} {editingId === item.id && editedAircraft ? ( ) : ( {item.status} )} {editingId === item.id && editedAircraft ? ( handleChange('flightHours', parseInt(e.target.value) || 0)} style={{ padding: '6px', border: '1px solid #ccc', borderRadius: '4px', width: '100%', }} /> ) : ( item.flightHours )} {editingId === item.id ? (
) : ( )}
); }