✅ Messaggio inviato.
' }; HISTORY.push(botMsg); const last=loadLast(); last.push(botMsg); saveLast(last); renderPopup(); }catch(e){ hideTyping(); const err={role:'bot', html:"⚠️ Errore di connessione.
"}; HISTORY.push(err); const last=loadLast(); last.push(err); saveLast(last); renderPopup(); } } /* ========= HOME: Ask AI ========= */ function activateAskInput(){ askInput.style.display="block"; askCta.style.display="none"; askInput.focus(); } function closeHomePopover(){ askPop.classList.remove('open','dir-up'); askPop.setAttribute('aria-hidden','true'); askPlus.classList.remove('rotated'); askPop.style.transform=''; } function toggleHomePopover(){ if(askPop.classList.contains('open')) return closeHomePopover(); askPop.classList.add('open'); askPop.setAttribute('aria-hidden','false'); askPlus.classList.add('rotated'); const r=askBar.getBoundingClientRect(); const pop=askPop.getBoundingClientRect(); const below=window.innerHeight - r.bottom; const above=r.top; askPop.classList.toggle('dir-up', below pop.height + 16); const pad=10; const rec=askPop.getBoundingClientRect(); if(rec.right > window.innerWidth - pad){ askPop.style.transform=`translateX(-${ rec.right-(window.innerWidth-pad) }px)`; } else if(rec.left { e.stopPropagation(); toggleHomePopover(); }); document.addEventListener("click", e=>{ if(askPop.classList.contains('open') && !askPop.contains(e.target) && !askPlus.contains(e.target)) closeHomePopover(); }); document.addEventListener("keydown", e=>{ if(e.key==="Escape" && askPop.classList.contains('open')) closeHomePopover(); }); askPop.addEventListener("click", (e)=>{ const b=e.target.closest(".ask-item"); if(!b) return; closeHomePopover(); if(b.dataset.action==="chat_passata"){ const last=loadLast(); openPopup(last.length? last : []); return; } activateAskInput(); askInput.value = b.dataset.fill || ""; }); function homeSend(){ const txt=askInput.value.trim(); if(!txt) return; askInput.value=""; const user={role:'user', text:txt}; HISTORY.push(user); const last=loadLast(); last.push(user); saveLast(last); openPopup(); renderPopup(); sendToWebhook(txt); } askCta.addEventListener("click", activateAskInput); askSend.addEventListener("click", homeSend); askInput.addEventListener("keypress", e=>{ if(e.key==="Enter") homeSend(); }); /* ========= POPUP: Ask AI ========= */ aiAskPlus.addEventListener('click', (e)=>{ e.preventDefault(); e.stopPropagation(); const open = aiAskMini.style.display === 'block'; aiAskMini.style.display = open ? 'none' : 'block'; aiAskPlus.style.transform = open ? 'rotate(0deg)' : 'rotate(45deg)'; }); document.addEventListener('click', (e)=>{ const wrap = document.getElementById('aiAskWrap'); if(wrap && !wrap.contains(e.target)){ aiAskMini.style.display='none'; aiAskPlus.style.transform='rotate(0deg)'; } }); aiAskMini.querySelectorAll('.mini-item').forEach(btn=>{ btn.addEventListener('click', ()=>{ aiAskInput.value = btn.dataset.fill || btn.textContent.trim(); aiAskMini.style.display='none'; aiAskPlus.style.transform='rotate(0deg)'; aiAskInput.focus(); }); }); function popupSend(){ const txt = (aiAskInput.value||'').trim(); if(!txt) return; aiAskInput.value = ''; const user={role:'user', text:txt}; HISTORY.push(user); const last=loadLast(); last.push(user); saveLast(last); renderPopup(); sendToWebhook(txt); } aiAskSend.addEventListener('click', popupSend); aiAskInput.addEventListener('keypress', e=>{ if(e.key==='Enter') popupSend(); }); /* ========= CLOSE POPUP ========= */ aiClose.addEventListener("click", closePopup); aiMask.addEventListener("click", closePopup); /* ========= BOOT ========= */ ensureChatId(); (function(){ const row1 = document.getElementById("docRow1"); const row2 = document.getElementById("docRow2"); const row3 = document.getElementById("docRow3"); if(!row1 || !row2 || !row3) return; const MEDIA_ROW1 = [ { type:"vid", src:"https://cloud-1de12d.becdn.net/media/original/9e54374ce8688a031297c89c49911047.mp4" }, { type:"img", src:"https://cloud-1de12d.becdn.net/media/original/c35f42d064f5ad6d55e6dfaae9e62751.jpg" }, { type:"img", src:"https://cloud-1de12d.becdn.net/media/original/38bdaf0f7f585c8e3ea6f8affdf8f768.jpg" }, { type:"vid", src:"https://cloud-1de12d.becdn.net/media/original/3a56b4b17d83a17003141cbeae4fad77.mp4" } ]; const MEDIA_ROW2 = [ { type:"vid", src:"https://cloud-1de12d.becdn.net/media/original/06ed3a85c467544f68a4cf1e14062c2a.mp4" }, { type:"img", src:"https://cloud-1de12d.becdn.net/media/original/2c1bf884a3718ce0d37328d0365f8df8.jpg" }, { type:"img", src:"https://cloud-1de12d.becdn.net/media/original/f1f0a33f1955e48d1ffd3f355c935f18.jpg" }, { type:"vid", src:"https://cloud-1de12d.becdn.net/media/original/09f12bd2877c15919191324d06723129.mp4" } ]; const MEDIA_ROW3 = [ { type:"vid", src:"https://cloud-1de12d.becdn.net/media/original/1a9c66d136b58ca1020486407f25f013.mp4" }, { type:"img", src:"https://cloud-1de12d.becdn.net/media/original/f42b290d47803b5f728145a03ea036bc.jpg" }, { type:"img", src:"https://cloud-1de12d.becdn.net/media/original/e65aabe2742cec79f0910ce11563b713.jpg" }, { type:"vid", src:"https://cloud-1de12d.becdn.net/media/original/844c0852b48cc8bc0adefa88edeffb48.mp4" } ]; function makeTile(item){ const el = document.createElement("div"); el.className = "doc-tile"; if(item.type === "img"){ el.innerHTML = `