# Обновление фронтенда: Блокировка редактирования подтверждённых данных ## Изменения ### 1. Step1Phone.tsx - Получение флага из n8n **После получения ответа от n8n (после строки ~150):** ```typescript // ✅ Извлекаем флаг подтверждения данных const contact_data_confirmed = result.contact_data_confirmed || false; const contact_data_can_edit = result.contact_data_can_edit !== false; // По умолчанию true const contact_data_confirmed_at = result.contact_data_confirmed_at || null; // Сохраняем в formData updateFormData({ // ... существующие поля ... contact_data_confirmed: contact_data_confirmed, contact_data_can_edit: contact_data_can_edit, contact_data_confirmed_at: contact_data_confirmed_at, }); ``` --- ### 2. generateConfirmationFormHTML.ts - Блокировка полей **Добавить параметр `contact_data_confirmed` в функцию:** ```typescript export function generateConfirmationFormHTML( data: any, contact_data_confirmed: boolean = false ): string { // ... существующий код ... // В функции createInputField добавить проверку: function createInputField(root: string, key: string, value: any, label: string, type: string = 'text') { const isReadOnly = contact_data_confirmed && ( key === 'firstname' || key === 'lastname' || key === 'middle_name' || key === 'inn' || key === 'birthday' || key === 'birthplace' || key === 'mailingstreet' || key === 'email' ); const readonlyAttr = isReadOnly ? 'readonly' : ''; const readonlyClass = isReadOnly ? 'readonly-field' : ''; // ... остальной код с добавлением readonlyAttr и readonlyClass ... } } ``` **Добавить CSS для readonly полей:** ```css .readonly-field { background-color: #f5f5f5 !important; cursor: not-allowed !important; opacity: 0.7; } ``` --- ### 3. StepClaimConfirmation.tsx - Передача флага в форму **В useEffect (после строки ~90):** ```typescript // Получаем флаг подтверждения из claimPlanData или formData const contact_data_confirmed = claimPlanData?.contact_data_confirmed || claimPlanData?.propertyName?.meta?.contact_data_confirmed || formData?.contact_data_confirmed || false; // Передаём в generateConfirmationFormHTML const html = generateConfirmationFormHTML(formData, contact_data_confirmed); ``` --- ### 4. Добавить кнопку "Изменить данные" (опционально) **В generateConfirmationFormHTML.ts:** ```typescript // После заголовка формы, если contact_data_confirmed = true if (contact_data_confirmed) { html += `
⚠️ Данные подтверждены
Для изменения данных требуется подтверждение через SMS.