From 9f564889b05999bad550903dba83cf0eb8b6c374 Mon Sep 17 00:00:00 2001 From: WASRUSGEN Date: Fri, 29 May 2026 00:42:33 +0300 Subject: [PATCH] fix: Elena asks before redirecting to upload (check/dispute intents) --- mockup.html | 62 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/mockup.html b/mockup.html index 936eaf6..7aa2471 100644 --- a/mockup.html +++ b/mockup.html @@ -3869,17 +3869,59 @@ function elenaIntent(intent) { return; } - // check / dispute — переходим к загрузке - var ackMap = { - check: 'Отлично — проверю договор 📄 Найду все риски и объясню каждый понятно.', - dispute: 'Хорошо — подготовлю протокол разногласий 📋 Загрузите договор, уберём невыгодные пункты.', - custom: 'Понял вас. Загрузите документ или опишите подробнее — разберёмся.', - }; + // check / dispute — сначала Елена отвечает, потом мягко предлагает загрузить + var userTxt = (document.getElementById('intake-custom') || {}).value || ''; document.querySelectorAll('#el-step1, #el-step-create').forEach(function(el){ el.style.display='none'; }); - var upload = document.getElementById('el-step-upload'); - if(upload) upload.style.display=''; - var ack = document.getElementById('el-ack'); - if(ack) ack.innerHTML = ackMap[intent] || ''; + var wrap = document.querySelector('.chatwrap'); + if (!wrap) { + // fallback: сразу upload + var upload = document.getElementById('el-step-upload'); + if(upload) upload.style.display=''; + return; + } + + // Пузырь пользователя + if (userTxt) { + var ub = document.createElement('div'); + ub.className = 'msg user-msg'; + ub.innerHTML = '
' + userTxt.replace(/'; + wrap.appendChild(ub); + } + + // Typing → API → ответ → кнопка загрузки + _hcAddTyping(); + _elenaApi(userTxt || intent, intent, function(apiReply) { + _hcRemoveTyping(); + var defaultReply = intent === 'dispute' + ? 'Понял ситуацию — разберёмся. Если есть текст договора, загрузите его — сразу покажу спорные пункты и как их оспорить.' + : 'Хорошо, посмотрю. Если у вас есть текст договора — загрузите или вставьте, найду все риски и объясню понятно.'; + var replyText = apiReply || defaultReply; + + // Добавляем ответ Елены + var mb = document.createElement('div'); + mb.className = 'msg'; + mb.innerHTML = '
' + + '
Елена
' + replyText + '
'; + wrap.appendChild(mb); + + // Через паузу — мягкое предложение загрузить + setTimeout(function() { + var ob = document.createElement('div'); + ob.className = 'msg'; + ob.innerHTML = '
' + + '
Елена
' + + 'Есть договор? Загрузите — разберу подробно.' + + '
' + + '' + + '' + + '
'; + wrap.appendChild(ob); + ob.scrollIntoView({behavior:'smooth'}); + }, 600); + }); } function elenaCreate(type) {