diff --git a/frontend/src/components/form/StepClaimConfirmation.tsx b/frontend/src/components/form/StepClaimConfirmation.tsx index 2ad29d3..572f36d 100644 --- a/frontend/src/components/form/StepClaimConfirmation.tsx +++ b/frontend/src/components/form/StepClaimConfirmation.tsx @@ -93,10 +93,18 @@ export default function StepClaimConfirmation({ }, [claimPlanData]); // Функция сохранения данных формы - публикация в Redis канал + // ⚠️ ВАЖНО: Эта функция должна вызываться ТОЛЬКО после SMS-верификации! const saveFormData = useCallback(async (formData: any, smsCode?: string) => { console.log('💾 Публикуем данные формы в Redis канал:', formData); console.log('📱 SMS код для публикации:', smsCode || '(не передан)'); + // Защита: если SMS код не передан, это ошибка (данные не должны отправляться без верификации) + if (!smsCode || smsCode.trim() === '') { + console.error('❌ ОШИБКА: saveFormData вызван БЕЗ SMS кода! Данные не должны отправляться без верификации.'); + message.error('Ошибка: данные не могут быть отправлены без SMS-верификации'); + return; + } + // Получаем данные из claimPlanData для формирования payload const claimId = claimPlanData?.claim_id || claimPlanData?.propertyName?.meta?.claim_id || ''; const unifiedId = claimPlanData?.unified_id || claimPlanData?.propertyName?.meta?.unified_id || ''; @@ -194,12 +202,15 @@ export default function StepClaimConfirmation({ if (response.ok) { message.success('Код подтвержден!'); + console.log('✅ SMS код успешно проверен:', code); + // Закрываем модалку setSmsModalVisible(false); setSmsCodeSent(false); smsForm.resetFields(); // Отправляем данные в Redis канал с SMS кодом + console.log('📤 Вызываем saveFormData с SMS кодом:', code); saveFormData(pendingFormData, code); // Показываем сообщение об успешной отправке