⚠️ Errore di connessione.
"}); renderKosModal(); }); } /* ===== Send (dal popup) ===== */ function sendFromPopup(){ const txt = kosInput.value.trim(); if(!txt) return; ensureChatId(); kosInput.value=""; HISTORY.push({role:'user', text:txt}); renderKosModal(); showTypingKos(); fetch(webhookUrl,{ method:"POST", headers:{ "Content-Type":"application/json" }, body: JSON.stringify({ question: txt, chat_id: CHAT_ID }) }) .then(r=>r.json()) .then(data=>{ hideTypingKos(); const payload = Array.isArray(data) ? (data[0]||{}) : (data||{}); const reply = payload.reply || {}; const raw = reply.details || payload.data || reply.text || ""; const html = /{ hideTypingKos(); HISTORY.push({role:'bot', html:"⚠️ Errore di connessione.
"}); renderKosModal(); }); } /* ===== Events ===== */ openFullChatIcon.addEventListener("click", openModal); document.getElementById("kosClose").addEventListener("click", closeModal); miniSendBtn.addEventListener("click", sendFromFrontend); input.addEventListener("keypress", e=>{ if(e.key==="Enter") sendFromFrontend(); }); kosSend.addEventListener("click", sendFromPopup); kosInput.addEventListener("keypress", e=>{ if(e.key==="Enter") sendFromPopup(); }); /* ===== CESTINO: cancella subito senza popup nero ===== */ kosTrash.addEventListener("click", ()=>{ HISTORY = []; renderKosModal(); }); // aggancio bottoni rapidi document.addEventListener("click", function(e){ if(e.target.classList.contains("quick-btn")){ const msg = e.target.dataset.text; const kosInput = document.getElementById("kosInput"); kosInput.value = msg; // inserisce il testo preimpostato nella barra input kosInput.focus(); } });