/* TarixiTimeline — лёгкая аналитика + конфиг роста.

   Зачем: после рилса нужно понять воронку — сколько зашло, сколько открыло
   личность, сколько реально поговорило. Без этого рилс не даёт данных.

   Куда уходят события:
   1) /api/event  → лог в Cloudflare (Pages → проект → Functions → Real-time logs)
   2) gtag / plausible — если позже подключишь провайдера, события пойдут туда сами
*/

// ⚠️ ВСТАВЬ ССЫЛКУ НА СВОЙ КАНАЛ/ГРУППУ (Telegram, Instagram, форма).
// Пока строка пустая — кнопка «фокус-группа» не показывается.
window.COMMUNITY_URL = '';

const SESSION_KEY = 'tarixi-sid';
function sessionId() {
  try {
    let id = sessionStorage.getItem(SESSION_KEY);
    if (!id) { id = Math.random().toString(36).slice(2, 10); sessionStorage.setItem(SESSION_KEY, id); }
    return id;
  } catch (_) { return 'anon'; }
}

window.track = function (event, props) {
  const payload = {
    event,
    props: props || {},
    sid: sessionId(),
    lang: window.LANG,
    ref: document.referrer || '',
    path: location.pathname,
    ts: Date.now(),
  };
  try {
    const body = JSON.stringify(payload);
    if (navigator.sendBeacon) {
      navigator.sendBeacon('/api/event', new Blob([body], { type: 'application/json' }));
    } else {
      fetch('/api/event', { method: 'POST', body, keepalive: true, headers: { 'Content-Type': 'application/json' } });
    }
  } catch (_) {}
  // мосты к внешним провайдерам, если их подключат позже
  try { if (window.gtag) window.gtag('event', event, props || {}); } catch (_) {}
  try { if (window.plausible) window.plausible(event, { props: props || {} }); } catch (_) {}
};

// первый заход
try { window.track('app_open', { w: window.innerWidth }); } catch (_) {}
