(function () { 'use strict'; // ── Yapılandırma ────────────────────────────────────────────── var CHAT_URL = 'https://orzaxai.orzaxclub.com.tr'; var BRAND_COLOR = '#39B54A'; var Z_BASE = 2147483640; // ────────────────────────────────────────────────────────────── if (document.getElementById('orzax-widget-root')) return; // Tekrar yüklemeyi önle // ── CSS ─────────────────────────────────────────────────────── var css = [ '#orzax-widget-root {', ' position: fixed;', ' bottom: 24px;', ' right: 24px;', ' z-index: ' + Z_BASE + ';', ' font-family: "Inter", "Segoe UI", system-ui, sans-serif;', '}', /* Açık/kapalı butonu */ '#orzax-toggle {', ' height: 56px;', ' border-radius: 28px;', ' padding: 0 18px 0 14px;', ' gap: 10px;', ' background: ' + BRAND_COLOR + ';', ' border: none;', ' cursor: pointer;', ' display: flex; align-items: center; justify-content: center;', ' box-shadow: 0 4px 20px rgba(57,181,74,0.45);', ' transition: transform .2s, box-shadow .2s, border-radius .3s, padding .3s;', ' position: relative;', ' white-space: nowrap;', '}', '#orzax-toggle:hover { transform: scale(1.05); box-shadow: 0 6px 28px rgba(57,181,74,0.55); }', '#orzax-toggle:active { transform: scale(0.96); }', /* İkon sarmalayıcı */ '#orzax-icon-wrap {', ' position: relative;', ' width: 26px; height: 26px;', ' flex-shrink: 0;', ' display: flex; align-items: center; justify-content: center;', '}', '#orzax-toggle svg { display: block; transition: opacity .2s, transform .2s; position: absolute; }', '#orzax-toggle .icon-chat { opacity: 1; transform: rotate(0); }', '#orzax-toggle .icon-close { opacity: 0; transform: rotate(-90deg); }', '#orzax-widget-root.open #orzax-toggle .icon-chat { opacity: 0; transform: rotate(90deg); }', '#orzax-widget-root.open #orzax-toggle .icon-close { opacity: 1; transform: rotate(0); }', /* Buton etiketi */ '#orzax-toggle-label {', ' font-size: 14px; font-weight: 600;', ' color: #fff;', ' letter-spacing: 0.01em;', ' max-width: 140px;', ' overflow: hidden;', ' transition: max-width .3s ease, opacity .2s ease;', '}', /* Açık halde: daireye dön, etiketi gizle */ '#orzax-widget-root.open #orzax-toggle {', ' border-radius: 50%;', ' padding: 0;', ' width: 56px;', ' gap: 0;', '}', '#orzax-widget-root.open #orzax-toggle-label {', ' max-width: 0;', ' opacity: 0;', '}', /* Bildirim noktası */ '#orzax-badge {', ' position: absolute;', ' top: -2px; right: -2px;', ' width: 14px; height: 14px;', ' background: #e53935;', ' border: 2px solid white;', ' border-radius: 50%;', ' display: none;', '}', /* Chat penceresi */ '#orzax-frame-wrap {', ' position: absolute;', ' bottom: 72px;', ' right: 0;', ' width: 400px;', ' height: 600px;', ' border-radius: 20px;', ' overflow: hidden;', ' box-shadow: 0 8px 40px rgba(0,0,0,0.18);', ' background: #fff;', ' opacity: 0;', ' transform: translateY(16px) scale(0.97);', ' pointer-events: none;', ' transition: opacity .25s ease, transform .25s ease;', ' transform-origin: bottom right;', '}', '#orzax-widget-root.open #orzax-frame-wrap {', ' opacity: 1;', ' transform: translateY(0) scale(1);', ' pointer-events: auto;', '}', '#orzax-chat-frame {', ' width: 100%; height: 100%;', ' border: none; display: block;', '}', /* Mobil */ '@media (max-width: 480px) {', ' #orzax-frame-wrap {', ' width: calc(100vw - 20px);', ' height: 70vh;', ' right: -14px;', ' bottom: 70px;', ' border-radius: 16px;', ' }', ' #orzax-widget-root { bottom: 16px; right: 16px; }', '}', ].join('\n'); var styleEl = document.createElement('style'); styleEl.textContent = css; document.head.appendChild(styleEl); // ── HTML ────────────────────────────────────────────────────── var root = document.createElement('div'); root.id = 'orzax-widget-root'; root.innerHTML = [ '
', ' ', '
', '', ].join(''); document.body.appendChild(root); // ── Mantık ─────────────────────────────────────────────────── var toggle = document.getElementById('orzax-toggle'); var frame = document.getElementById('orzax-chat-frame'); var isOpen = false; var loaded = false; function open() { if (!loaded) { frame.src = CHAT_URL; // İlk açılışta yükle (lazy) loaded = true; } root.classList.add('open'); isOpen = true; document.getElementById('orzax-badge').style.display = 'none'; toggle.setAttribute('aria-expanded', 'true'); } function close() { root.classList.remove('open'); isOpen = false; toggle.setAttribute('aria-expanded', 'false'); // Pencere kapanınca iframe sıfırla — bir sonraki açılışta yeni session başlar frame.src = 'about:blank'; loaded = false; } toggle.addEventListener('click', function () { isOpen ? close() : open(); }); // ESC tuşuyla kapat document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && isOpen) close(); }); // iframe'den gelen kapat sinyali (KVKK reddet) window.addEventListener('message', function (e) { if (e.data === 'orzax-widget-close') close(); }); // Dışarı tıklayınca kapat (opsiyonel — istenirse kaldırılabilir) document.addEventListener('click', function (e) { if (isOpen && !root.contains(e.target)) close(); }); // Bildirim noktasını dışarıdan göstermek için global API window.OrzaxWidget = { open: open, close: close, showBadge: function () { document.getElementById('orzax-badge').style.display = 'block'; }, }; })();