add logic for habbit done

This commit is contained in:
2025-11-06 17:53:27 +03:00
parent 2d3c6ea55f
commit 6c71321076

21
app.js
View File

@@ -1,25 +1,42 @@
// Что нам нужно для работы кнопки Отметить выполнение?
// 1. Найти все кнопки отметить выполнение.
// 2. На каждую кнопку повесить слушатель события клик(нажатие мышью)
// 3. Внутри слушателя события выполнить логику выполнения привычки - вызвать функцию markHabitDone
// 4. Перерисовать интерфейс
const HabitTrackerApp = { const HabitTrackerApp = {
elements: { elements: {
habitGrid: null, habitGrid: null,
addHabitForm: null, addHabitForm: null,
addHabbitButton: null addHabbitButton: null,
habbitDoneButtons: [],
}, },
init: function() { init: function() {
this.loadElements(); this.loadElements();
this.render(); this.render();
this.setupEventListeners();
}, },
setupEventListeners: function() { setupEventListeners: function() {
this.elements.addHabbitButton.addEventListener('click', () => { this.elements.addHabbitButton.addEventListener('click', () => {
this.elements.addHabitForm.style.display = 'block'; //this.elements.addHabitForm.style.display = 'block';
}); });
this.elements.habbitDoneButtons.forEach(
button => button.addEventListener('click',
() => console.log('Привычка выполнена')
)
);
// пройти циклом по habbitDoneButtons. На каждый элемент массива
// добавить addEventListener по клику.
// и в обработчике события вывести console.log
}, },
loadElements: function() { loadElements: function() {
this.elements.habitGrid = document.getElementById('habits-grid'); this.elements.habitGrid = document.getElementById('habits-grid');
this.elements.addHabitForm = document.getElementById('add-habit-form'); this.elements.addHabitForm = document.getElementById('add-habit-form');
this.elements.addHabbitButton = document.getElementById('add-habbit-button'); this.elements.addHabbitButton = document.getElementById('add-habbit-button');
this.elements.habbitDoneButtons = document.getElementsByClassName('button-primary');
}, },
render: function() { render: function() {