// Путь к файлу с данными const filePath = 'data/data.txt'; // Элементы для отображения карточек и фильтров const container = document.getElementById('cardsContainer'); const filterVacancies = document.getElementById('filterVacancies'); const filterNews = document.getElementById('filterNews'); const filterAnnouncements = document.getElementById('filterAnnouncements'); // Функция для загрузки и отображения данных function loadData(filter = null) { fetch(filePath) .then(response => { console.log('Fetching data...'); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } console.log('File fetched successfully.'); return response.text(); }) .then(data => { console.log('Processing data...'); const lines = data.split('\n'); container.innerHTML = ''; // Очистка контейнера lines.forEach((line, index) => { console.log(`Processing line ${index + 1}:`, line); const [title, image, subtitle, text, date, author, email, tel, link, vacancies, news, announcements, counter] = line.split(';'); // Применение фильтра if (filter) { if (filter === 'vacancies' && vacancies.trim() !== '1') return; if (filter === 'news' && news.trim() !== '1') return; if (filter === 'announcements' && announcements.trim() !== '1') return; } if (image && date && subtitle && counter) { // Проверяем наличие данных // Генерация URL для страницы const pageUrl = `newscard.html?id=${counter.trim()}`; // Создание карточки const card = document.createElement('div'); card.className = 'col-md-4 d-flex'; card.innerHTML = `

${subtitle.trim()}

`; container.appendChild(card); // Добавляем карточку в контейнер console.log('Card added:', card); } else { console.warn(`Skipped line ${index + 1} due to missing fields.`); } }); }) .catch(error => { console.error('Error fetching or processing the file:', error); }); } // Добавление обработчиков событий для фильтров filterVacancies.addEventListener('click', () => loadData('vacancies')); filterNews.addEventListener('click', () => loadData('news')); filterAnnouncements.addEventListener('click', () => loadData('announcements')); // Загрузка всех данных при старте loadData();