// Инициализация Quill редактора для редактирования новостей
const editorContainer = document.getElementById('editor-container');
const saveButton = document.getElementById('save-btn');
let currentEditingItem = null;

const quill = new Quill('#editor-container', {
  theme: 'snow'
});

function enableEditing(content, feedItem) {
  editorContainer.classList.remove('hidden');
  saveButton.classList.remove('hidden');
  currentEditingItem = feedItem;

  quill.setText(content);
}

// Сохранение изменений в новости
saveButton.addEventListener('click', () => {
  const updatedContent = quill.getText();
  currentEditingItem.querySelector('p').textContent = updatedContent;

  editorContainer.classList.add('hidden');
  saveButton.classList.add('hidden');
});

// Подключение GigaChat API для обсуждения новостей
const gigachatContainer = document.getElementById('gigachat-container');
const gigachatOpenButton = document.getElementById('gigachat-open-btn');

// Функция для открытия GigaChat
function openGigachat(roomId) {
  gigachatContainer.classList.remove('hidden');
  
  // ВСТАВЬТЕ API GIGACHAT ЗДЕСЬ
  // Пример использования iframe для вставки чата
  gigachatContainer.innerHTML = `<iframe src="YOUR_GIGACHAT_API_URL/${roomId}" width="100%" height="500"></iframe>`;
}

// Обработчик для кнопки открытия GigaChat
gigachatOpenButton.addEventListener('click', () => openGigachat('unique-room-id'));

// Функция для загрузки RSS ленты
async function fetchRSS(url) {
  try {
    const response = await fetch(url);
    if (!response.ok) {
      throw new Error(`Ошибка загрузки RSS: ${response.statusText}`);
    }

    const rssText = await response.text();
    const parser = new DOMParser();
    const xmlDoc = parser.parseFromString(rssText, "application/xml");

    const items = xmlDoc.querySelectorAll("item");
    const parsedItems = Array.from(items).map(item => ({
      title: item.querySelector("title")?.textContent || "Без названия",
      link: item.querySelector("link")?.textContent || "Без ссылки",
      description: item.querySelector("description")?.textContent || "Без описания",
      pubDate: item.querySelector("pubDate")?.textContent || "Без даты",
    }));

    return parsedItems;
  } catch (error) {
    document.getElementById('error').textContent = error.message;
    document.getElementById('error').classList.remove('hidden');
    return [];
  }
}

// Отображение RSS фидов
function displayFeed(data, url) {
  const feedContainer = document.getElementById("feed");
  feedContainer.innerHTML = ''; // Очистить предыдущие новости

  data.forEach(item => {
    const feedItem = document.createElement('div');
    feedItem.classList.add('feed-item');
    feedItem.innerHTML = `
      <h2><a href="${item.link}" target="_blank">${item.title}</a></h2>
      <p>${item.description}</p>
      <div class="pubDate">${item.pubDate}</div>
    `;

    // Кнопка "Редактировать"
    const editButton = document.createElement('button');
    editButton.textContent = 'Редактировать';
    editButton.addEventListener('click', () => enableEditing(item.description, feedItem));
    feedItem.appendChild(editButton);

    // Кнопка "Обсудить с GigaChat"
    const gigachatButton = document.createElement('button');
    gigachatButton.textContent = 'Обсудить с GigaChat';
    gigachatButton.addEventListener('click', () => openGigachat('unique-room-id'));
    feedItem.appendChild(gigachatButton);

    feedContainer.appendChild(feedItem);
  });
}

// Добавление RSS
document.getElementById('rss-form').addEventListener('submit', async function(e) {
  e.preventDefault();
  const rssUrl = document.getElementById('rss-url').value;
  document.getElementById('loading').classList.remove('hidden');
  
  const data = await fetchRSS(rssUrl);
  displayFeed(data, rssUrl);
  
  document.getElementById('loading').classList.add('hidden');
});