// /srv/http/eos-modern/public/assets/js/main.js

// 1. Globální funkce pro Toast notifikaci
function showToast(message, isError = false) {
  const existingToasts = document.querySelectorAll('.custom-toast');
  existingToasts.forEach(t => t.remove());

  const toast = document.createElement('div');
  toast.className = 'custom-toast';
  toast.textContent = message;

  const bgColor = isError ? '#e74c3c' : 'var(--primary)';

  Object.assign(toast.style, {
    position: 'fixed',
    bottom: '20px',
    left: '50%',
    transform: 'translateX(-50%)',
    backgroundColor: bgColor,
    color: '#fff',
    padding: '12px 24px',
    borderRadius: '8px',
    boxShadow: '0 4px 12px rgba(0,0,0,0.15)',
    zIndex: '9999',
    transition: 'opacity 0.3s ease, transform 0.3s ease',
    fontFamily: 'var(--font-main)',
    fontSize: '0.95rem',
    opacity: '0',
    pointerEvents: 'none'
  });

  document.body.appendChild(toast);

  requestAnimationFrame(() => {
    toast.style.opacity = '1';
    toast.style.transform = 'translateX(-50%) translateY(0)';
  });

  setTimeout(() => {
    toast.style.opacity = '0';
    toast.style.transform = 'translateX(-50%) translateY(10px)';
    setTimeout(() => toast.remove(), 300);
  }, 3000);
}

document.addEventListener('DOMContentLoaded', () => {
  // 2. Tmavý režim
  const themeToggle = document.getElementById('themeToggle');
  const html = document.documentElement;

  if (themeToggle) {
    const icon = themeToggle.querySelector('i');
    if (icon) {
      const savedTheme = localStorage.getItem('theme') || 'dark';
      html.setAttribute('data-theme', savedTheme);
      updateIcon(savedTheme);

      themeToggle.addEventListener('click', () => {
        const currentTheme = html.getAttribute('data-theme');
        const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
        html.setAttribute('data-theme', newTheme);
        localStorage.setItem('theme', newTheme);
        updateIcon(newTheme);
      });

      function updateIcon(theme) {
        icon.className = theme === 'dark' ? 'fas fa-sun' : 'fas fa-moon';
      }
    }
  }

  // 3. Vyhledávání (Fuse.js) -
  const searchInput = document.getElementById('searchInput');
  const searchResults = document.getElementById('searchResults');
  let fuse = null;

  if (searchInput && searchResults) {
    const jsonUrl = '/eos-modern/public/data/articlesSearch.json';
    fetch(jsonUrl)
      .then(res => res.json())
      .then(data => {
        fuse = new Fuse(data, {
          keys: ['title', 'excerpt', 'slug'],
          threshold: 0.3,
          ignoreLocation: true
        });
      })
      .catch(err => console.error('Chyba JSON:', err));

    searchInput.addEventListener('input', (e) => {
      const query = e.target.value.trim();
      if (query.length < 2) {
        searchResults.style.display = 'none';
        return;
      }
      if (!fuse) return;
      const results = fuse.search(query);
      searchResults.innerHTML = '';
      if (results.length > 0) {
        searchResults.style.display = 'block';
        results.forEach(result => {
          const item = result.item;
          const link = document.createElement('a');
          link.href = `/eos-modern/public/article.php?slug=${item.slug}`;
          link.className = 'search-item';
          link.innerHTML = `<strong>${item.title}</strong><br><small>${item.excerpt}</small>`;
          searchResults.appendChild(link);
        });
      } else {
        searchResults.style.display = 'none';
      }
    });

    document.addEventListener('click', (e) => {
      if (!searchInput.contains(e.target) && !searchResults.contains(e.target)) {
        searchResults.style.display = 'none';
      }
    });
  }

  // 4. Tlačítko Sdílet - ZLEPŠENÁ VERZE
  const shareButton = document.getElementById('shareButton');
  if (shareButton) {
    shareButton.addEventListener('click', async () => {
      const currentUrl = window.location.href;
      const title = document.title;

      // Zkusíme nejprve nativní sdílení (mobil)
      if (navigator.share) {
        try {
          await navigator.share({
            title: title,
            text: 'Podívej se na tento článek na EndeavourOS CZ!',
            url: currentUrl
          });
          console.log('Sdílení úspěšné (mobile).');
          return; // Ukončíme, pokud se podařilo
        } catch (err) {
          console.warn('Sdílení zrušeno nebo selhalo:', err);
          // Pokud selže, přejdeme na fallback
        }
      }

      // Fallback pro Desktop: Zkusíme zkopírovat do schránky
      try {
        await navigator.clipboard.writeText(currentUrl);
        showToast('Odkaz zkopírován do schránky! 📋');
        console.log('Odkaz zkopírován (desktop).');
      } catch (err) {
        console.error('Chyba kopírování:', err);
        // Pokud selže i clipboard (často na HTTP), ukážeme chybu
        showToast('Nelze zkopírovat. Zkuste to ručně (URL v adresním řádku).', true);
      }
    });
  }
});
