­
You can use this widget to input text into the page.

Shop by Category

Furuno

You can use this widget to input arbitrary HTML code into the page. Invalid HTML code may cause issues with the preview pane.

// Open chat with forced refresh widgetBtn.addEventListener('click', function(e) { e.stopPropagation(); if (!isOpen) { chatContainer.style.display = 'block'; chatContainer.style.animation = 'slideUp 0.3s ease-out'; // Force iframe refresh with cache busting chatIframe.src = 'https://boat-buddy-assistant-shotgunmarine.replit.app/iframe-embed?v=3&t=' + Date.now(); isOpen = true; } }); // Close chat closeBtn.addEventListener('click', function(e) { e.stopPropagation(); chatContainer.style.animation = 'slideDown 0.2s ease-in'; setTimeout(function() { chatContainer.style.display = 'none'; isOpen = false; }, 200); }); // Close when clicking outside document.addEventListener('click', function(event) { if (isOpen && !chatContainer.contains(event.target) && !widgetBtn.contains(event.target)) { chatContainer.style.display = 'none'; isOpen = false; } }); // Mobile responsive function adjustForMobile() { if (window.innerWidth <= 480) { chatContainer.style.width = 'calc(100vw - 20px)'; chatContainer.style.height = 'calc(100vh - 40px)'; chatContainer.style.right = '10px'; chatContainer.style.bottom = '20px'; } else { chatContainer.style.width = '380px'; chatContainer.style.height = '600px'; chatContainer.style.right = '20px'; chatContainer.style.bottom = '100px'; } } window.addEventListener('resize', adjustForMobile); adjustForMobile(); console.log('BoatBuddy widget v3 loaded successfully'); })();
💬

BoatBuddy

Shotgun Marine • Online

×
💬
[... continues through all the widget code, JavaScript, and CSS animations ...]