// Что нам нужно для работы кнопки Отметить выполнение? // 1. Найти все кнопки отметить выполнение. // 2. На каждую кнопку повесить слушатель события клик(нажатие мышью) // 3. Внутри слушателя события выполнить логику выполнения привычки - вызвать функцию markHabitDone // 4. Перерисовать интерфейс const HabitTrackerApp = { elements: { habitGrid: null, addHabitForm: null, addHabbitButton: null, habbitDoneButtons: [], }, init: function() { this.loadElements(); this.render(); this.loadDynamicElements(); this.setupEventListeners(); }, setupEventListeners: function() { this.elements.addHabbitButton.addEventListener('click', () => { //this.elements.addHabitForm.style.display = 'block'; }); this.elements.habbitDoneButtons.forEach( button => { return button.addEventListener('click', (event) => { const cardId = event.target.closest('.habit-card').dataset.habitId; // разобраться почему не находит привычку HabitManager.markHabitDone(cardId); HabitManager.saveToLocalStorage(); this.init(); }); } ); // пройти циклом по habbitDoneButtons. На каждый элемент массива // добавить addEventListener по клику. // и в обработчике события вывести console.log }, loadElements: function() { this.elements.habitGrid = document.getElementById('habits-grid'); this.elements.addHabitForm = document.getElementById('add-habit-form'); this.elements.addHabbitButton = document.getElementById('add-habbit-button'); setTimeout(() => { this.elements.habbitDoneButtons = document.querySelectorAll('.button--primary'); }, 1000); }, loadDynamicElements: function() { this.elements.habbitDoneButtons = document.querySelectorAll('.button--primary'); }, render: function() { const habitsHTML = HabitManager.habits.map(habit => { const cardClass = `habit-card ${habit.isCompleted ? 'habit-card--completed' : ''}`; const progress = (habit.currentCount / habit.targetCount) * 100; return `
${habit.description}