'use client'; import { useState, useEffect } from 'react'; interface Audit { id: string; number: string; type: string; status: string; organization: string; date: string; inspector: string; description?: string; findings?: string; recommendations?: string; deadline?: string; } interface AuditCardModalProps { isOpen: boolean; onClose: () => void; audit: Audit | null; onSave?: (updatedAudit: Audit) => void; } export default function AuditCardModal({ isOpen, onClose, audit, onSave }: AuditCardModalProps) { const [isEditing, setIsEditing] = useState(false); const [editedAudit, setEditedAudit] = useState(null); useEffect(() => { if (audit) { setEditedAudit({ ...audit }); setIsEditing(false); } }, [audit]); if (!isOpen || !audit || !editedAudit) { return null; } const handleChange = (field: keyof Audit, value: string) => { setEditedAudit({ ...editedAudit, [field]: value }); }; const handleSave = () => { if (onSave) { onSave(editedAudit); setIsEditing(false); alert('Аудит успешно обновлён'); } }; const handleCancel = () => { if (audit) { setEditedAudit({ ...audit }); setIsEditing(false); } }; const currentAudit = isEditing ? editedAudit : audit; return (
e.stopPropagation()} >

{currentAudit.number}

{isEditing ? (
handleChange('organization', e.target.value)} style={{ width: '100%', padding: '12px', border: '1px solid #ccc', borderRadius: '4px', fontSize: '14px', }} />
handleChange('inspector', e.target.value)} style={{ width: '100%', padding: '12px', border: '1px solid #ccc', borderRadius: '4px', fontSize: '14px', }} />
handleChange('date', e.target.value)} style={{ width: '100%', padding: '12px', border: '1px solid #ccc', borderRadius: '4px', fontSize: '14px', }} />
) : (
Тип: {currentAudit.type} | Организация: {currentAudit.organization} | Инспектор: {currentAudit.inspector} | Дата: {currentAudit.date}
)}
{!isEditing && ( )}
Статус: {currentAudit.status}

Описание аудита

{isEditing ? (