import { handleAspects } from '../../hooks/useAspects/handleAspects'; import { hasSurveyAspect } from '../../utils/hasSurveyAspect'; import { noop } from '../../utils/noop'; import { sendCallback } from '../sendCallback'; import { type HandlerProps } from './handlerMap'; export const callbackHandler = async ({ formatData, data, aspects = {}, ev, typeForm, responseTypeDialog, onSuccess = noop, openUserSurvey = noop, }: HandlerProps) => { const response = await sendCallback(formatData); onSuccess(); if (response?.status === 'success') { responseTypeDialog.open({ ok: true, typeForm }); hasSurveyAspect(data) && openUserSurvey(); handleAspects({ aspectsAttributes: data, aspects, ev }); } else if (response?.status === 'error') { responseTypeDialog.open({ ok: false, errorMessage: 'Ваша заявка уже в работе. Дождитесь звонка от сотрудника Банка', }); } else { responseTypeDialog.open({ ok: Boolean(response) }); if (response) { handleAspects({ aspectsAttributes: data, aspects, ev }); } } };