From ca0bf667f232a4e25e0113bc45795f6500858d11 Mon Sep 17 00:00:00 2001 From: WASRUSGEN Date: Sat, 30 May 2026 10:06:11 +0300 Subject: [PATCH] fix: _chatTransition shows real Elena API response, not static bubble --- mockup.html | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/mockup.html b/mockup.html index ff808d2..8d954de 100644 --- a/mockup.html +++ b/mockup.html @@ -4999,13 +4999,48 @@ function _chatTransition(userText, intent) { return; } - // Скрываем el-step1 ДО переключения экрана — нет вспышки приветствия + // Скрываем el-step1, переходим на экран Елены var step1 = document.getElementById('el-step1'); - var inp = document.getElementById('intake-custom'); if (step1) step1.style.display = 'none'; - if (inp) inp.value = userText || ''; go('elena'); - setTimeout(function(){ elenaIntent(intent); }, 80); + + // Продолжаем разговор — показываем сообщение клиента и получаем ответ API + setTimeout(function() { + var wrap = document.querySelector('.chatwrap'); + if (!wrap || !userText) { elenaIntent(intent); return; } + + // Пузырь пользователя + var uDiv = document.createElement('div'); + uDiv.className = 'msg msg-user'; + uDiv.innerHTML = '
' + userText.replace(/'; + wrap.appendChild(uDiv); + + // Typing → API → ответ Елены + var tDiv = document.createElement('div'); + tDiv.className = 'msg'; tDiv.id = 'transition-typing'; + tDiv.innerHTML = '
' + + '
Елена
' + + '
'; + wrap.appendChild(tDiv); + wrap.scrollTop = wrap.scrollHeight; + + _elenaApi(userText, intent, function(apiReply, apiActions) { + var t = document.getElementById('transition-typing'); if (t) t.remove(); + var reply = apiReply || 'Расскажите подробнее — помогу разобраться.'; + _chatHistory.push({role:'user', content: userText}); + _chatHistory.push({role:'assistant', content: reply}); + _saveHistory(); + + var eDiv = document.createElement('div'); + eDiv.className = 'msg'; + eDiv.innerHTML = '
' + + '
Елена
' + reply + '
'; + wrap.appendChild(eDiv); + if (apiActions && apiActions.length) _renderElenaActions(apiActions, wrap); + wrap.scrollTop = wrap.scrollHeight; + _elenaShowInput(); + }); + }, 120); } /* ── HERO CHAT ── */