diff --git a/app.js b/app.js index e631cd5..db6c317 100644 --- a/app.js +++ b/app.js @@ -22,11 +22,28 @@ const HabitTrackerApp = { this.elements.addHabbitButton.addEventListener('click', () => { //this.elements.addHabitForm.style.display = 'block'; }); - this.elements.habbitDoneButtons.forEach( - button => button.addEventListener('click', - () => console.log('Привычка выполнена') - ) + + // 2 вариант + const timerId = setInterval(() => { + if (this.elements.habbitDoneButtons.length == 0) { + return; + } + + 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(); + }); + } ); + }, 1000); + + setTimeout(() => clearInterval(timerId), 3000); + // пройти циклом по habbitDoneButtons. На каждый элемент массива // добавить addEventListener по клику. // и в обработчике события вывести console.log @@ -36,7 +53,10 @@ const HabitTrackerApp = { this.elements.habitGrid = document.getElementById('habits-grid'); this.elements.addHabitForm = document.getElementById('add-habit-form'); this.elements.addHabbitButton = document.getElementById('add-habbit-button'); - this.elements.habbitDoneButtons = document.getElementsByClassName('button-primary'); + setTimeout(() => { + this.elements.habbitDoneButtons = document.querySelectorAll('.button--primary'); + }, 1000); + }, render: function() { @@ -79,7 +99,9 @@ HabitTrackerApp.loadFromLocalStorage = function() { if (HabitManager.habits.length == 0) { HabitManager.createHabit('Учить js', 'Писать не менее 1000000000 строк кода в день', 8); - } + HabitManager.saveToLocalStorage(); + } + } document.addEventListener('DOMContentLoaded', () => { diff --git a/habit-manager.js b/habit-manager.js index 3122f94..5a4ef70 100644 --- a/habit-manager.js +++ b/habit-manager.js @@ -16,7 +16,7 @@ const HabitManager = { HabitManager.createHabit = function (name, description, targetCount = 1) { const habit = { - id: Math.random(), + id: Math.floor(Math.random() * 100000, 10000), name: name, description: description, targetCount: targetCount, @@ -31,6 +31,7 @@ HabitManager.createHabit = function (name, description, targetCount = 1) { } HabitManager.markHabitDone = function (habitId) { + console.log(this.habits); const habit = this.habits.find(h => h.id === habitId); if (!habit) {